‘壹’ 编译错误:找不到符号
类型不匹配,
Rectangle(float width,float height)
{
this.width=width;
this.height=height;
}
此处你定义的是FLOAT类型
在你调用的地方你写的是 DOUBLE类型
要么你统一类型,要么强制转换一下
‘贰’ 急急急,tomcat启动提示 socket closed
是你自己的应用 (ubb)试图连接的server出现问题。你看看pagesocket.java连了哪个服务器,把那个服务器重启一下。
tomcat本身没问题。
‘叁’ java现在开源的缓存框架那个最好!
mvnForum 点击次数:7210
mvnForum是基于javaJ2EE 技术(Jsp/Servlet)的一个开源论坛.,安装简单。mvnForum兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。
JForum 点击次数:6633
JForum 是一个功能强大 ,易于管理的论坛。它的设计完全遵从MVC设计模式,能够在任何Servlet容器与EJB服务器上运行。而且可以轻松的定制与扩展JForum论坛。
xforum 点击次数:7789
国人开发的一个开源论坛,基于 Struts 技术,是学习 Struts 的一个非常好的范例。它用到 JAAS 实现 Security ,中文问题的解决,数据层用到 DAO ,以及基于 Struts 应用的基本架构,都是个非常好的学习。
jGossip 点击次数:2583
jGossip是一个简单,功能强大的java论坛。可运用j2EE在平台上。采用Struts framework技术。
FreeForums 点击次数:2164
一个基于XML的Java2企业级的论坛解决方案。FreeForums页面采用CSS, DHTML 与JavaScript等技术。这样用户可以定制自已喜欢的界面。它还提供一个在Windows下的客户端程序。
Sk Forum 点击次数:1549
SK Forum是一个开源的基于web的J2EE论坛应用程序。它是一个功能比较齐全的系统,包括很多功能比如:投票,wiki,定时跟踪,地址薄,好友薄以及其它一些小的功能。
JsForum 点击次数:1488
JsForum是只用到jsp与Servlet技术的论坛,容易使用。具有一般论坛的功能。但是目前只能支持MYSQL数据库。
nemesis-forum 点击次数:1197
一个使用J2EE技术的论坛。它的功能包括用户与用户组权限管理,支持i18n,内容过滤,综合搜索引擎,支持多种数据库。
Yazd 点击次数:1499
Yazd是一个使用JDBC连接数据库的论坛。它的特性包括:
1.提供在线安装和配置。
2.内容过滤(把Html代码转换成可显示的文件,自定义关键字过滤列表,隐藏urls的实现路径)。
3.集成Lucene1.3提供关键字搜索功能。
4.支持的数据库包括:Oracle,MySQL,DB2,Microsoft SQLServer,Sybase,Interbase,Hypersonic SQL,Pointbase,Informix和Postgres
5.还有其它一些一个论坛应具备的基本功能。
这个论坛提供多语言支持其中包括简体中文。
JavaBB 点击次数:2275
JavaBB基于java技术的类似于phpbb的论坛。
JForumFusion 点击次数:2295
JForumFusion是一个Java开源论坛。它主要的一些功能包括常规论坛功能,文件附件上传,个人信息,基于web的管理工具,UBBCode,和高性能的搜索引擎等。支持主流数据库包括:Oracle, DB2, MySQL, PostgreSQL, Sybase, SAP DB, HypersonicSQL, Microsoft SQL Server...
jzForum 点击次数:1745
这是一个利用Java开发的简单论坛.以下列出它的几点特性:
* 完全支持BBCode,
* 在新贴提交时利用AJAX技术提供无刷新页面预览功能.
* 利用lucene提供全文本搜索功能.
* 用户可监控主题.
* 可以容易更改样式(利用CSS几乎没有用到table).
* 安装简单只有一个war文件没有数据库(其实是内嵌hypersonic数据库)但 也支持其它数据库.
* 包括一个投票系统.
* jzForum还提供RSS阅读功能并利用缓存技术提高整个论坛的速度.
BBS-CS 点击次数:4336
天乙社区是一套基于JAVA技术的网络虚拟社区,采用了Hibernate+Spring+Struts的轻量级J2EE框架.
1、全文检索:天乙社区6.0采用Lucene全文检索,并支持完全国际化多语言的全文检索。
2、MVC框架:天乙社区6.0继续了5.x的Struts框架,但经过优化,WEB端更加简洁高效。
3、集群支持:系统可以运行在集群上。
4、功能方面:大大加强了管理功能,用户可以多样化的定制系统的各项信息,包括用户级别、封锁IP、过滤字等等,论坛功能上主要增加了投票帖、上传附件类型多样、帖子中显示用户信息等等功能等。
EasyJF 点击次数:650
简易java框架开源论坛系统拥有常用论坛系统的基本功能,集前台后台代码为一体,支持UBB。该论坛系统使用基于OO的方法设计,采用多层B/S构架,数据库持久层主要使用简易数据库开源框架EasyDBO,Web层使用EasyJWeb框架,java代码与页面完全分离,易扩展。
‘肆’ 编程要学啥要掌握哪些可以找工作
可以先从《微机原理与汇编技术》学习,有了基本的计算机基础,你才会对整个计算机编程的原理以及来龙去脉有个大致的了解。
然后把C语言学好,可以不要求精通,但是一定要掌握的全面一点。C语言的编码软件很多,比如borland C,网上很多,网络可以找到。
可以接触Borland C Builder V6.0。学习的教材有 “C++程序设计谭浩强100%25完整·清华大学”,网上有其电子书。第三部学好C++之后,可以陆续浏览下C#,VB之类的高级语言。
把握好心态,准备学习电脑编程。了解一下电脑发展史,如果想学汇编的话就需要大量的记忆,适合记性好,而且很用功的。
首先会教你C语言的编程格式和注意事项,记住一个标点符号都不能错。其次就开始考验你的数学功底,开始编一下简单的逻辑程序,再然后就要考验你的思路。
大概一个月左右学习完C语言,才开始真正学习编程,这时在C语言牢靠的功底下一切就简单多了,只是换了一个编程格式和其它编程工具。
‘伍’ 如何编写自己的插件
UBB插件是扩展UBB编辑器功能的开放接口,使用JavaScript编写。调试插件 UBB插件采用动态加载JavaScript文件的方法,一个插件对应一个JavaScript文件。浏览器安全限制不允许加载本机文件,即类似:file:///c|/temp/plugin.js的文件,所以您得有一个站点服务器。如果是本机测试,那么IIS或Apache得装上(向您推荐由网友ChrisAK编写的“UBB插件迷你服务器”)。在Firefox中调试如果不能访问localhost或者指定端口那么需配置: 地址栏输入:“about:config”进入配置页面;配置首选项“network.automatic-ntlm-auth.trusted-uris”为“localhost”。配置首选项“network.security.ports.banned.override”为“指定端口”,如:8080。 点击工具条上的UBB插件按钮“”进入插件管理对话框。 将“本机插件URL”输入框中的内容,替换成自己编写的插件所在链接即可装载。 编写插件插件Demo下载地址:plugin.js 插件只需要实现load()(装载)和free()(卸载)两个方法即可被调用。 var CsdnScriptPlugin999 = { /// /// 接口版本 /// interfaceVersion: "1.0", /// /// 插件标题,显示给用户看 /// caption: "插件标题", /// /// 设计者在CSDN的ID /// designer: "unknown", /// /// 按钮对象,可选项 /// buttons: {}, /// /// 分隔条对象,可选项 /// separators: {}, /// /// 装载 /// load: function() { this.separators["icon"] = CsdnScriptWorkshop.addSeparator(); // 添加一个分隔条 this.buttons["icon"] = CsdnScriptWorkshop.addButton( // 添加一个工具按钮 this.caption, "按钮图片(16*16 gif)", function() { var htmlDialog = "对话框的HTML内容"; var point = absolutePoint(this); // 按钮的位置 CsdnScriptWorkshop.showDialog("标题", htmlDialog, point.x, point.y + 18, 200, 200); }); }, /// /// 卸载 /// free: function() { for (var button in this.buttons) CsdnScriptWorkshop.deleteButton(this.buttons[button]); for (var separator in this.separators) CsdnScriptWorkshop.deleteSeparator(this.separators[separator]); } }本地插件对象名必须为:“CsdnScriptPlugin999” 必须填写的字段:interfaceVersion(接口版本)、caption(标题)、designer(设计人CSDN ID)必须填写的方法:load()(装载插件)、free()(卸载插件)添加工具按钮或分隔条、获得或设置文本框内容通过调用“CsdnScriptWorkshop”对象的方法实现,声明如下: var CsdnScriptWorkshop = { /// /// 接口版本 /// interfaceVersion: "1.0", /// /// 获得UBB编辑器 /// /// 返回编辑对象 getEditor: function() {...}, /// /// 获得UBB编辑器文本 /// /// 返回全部文本 getEditorText: function() {...}, /// /// 设置UBB编辑器文本 /// /// 文本内容 setEditorText: function(value) {...}, /// /// 获得UBB编辑器选中文本 /// /// 返回当前选中的文本 getSelectText: function() {...}, /// /// 设置UBB编辑器选中文本 /// /// 文本内容 setSelectText: function(value) {...}, /// /// 添加工具按钮 /// /// 提示内容 /// 图标URL,16*16,可以通过个人空间上传 /// 点击按钮执行的函数 /// 返回添加的按钮对象 addButton: function(hint, icon, click) {...}, /// /// 删除工具按钮 /// /// 按钮对象 deleteButton: function(button) {...}, /// /// 添加工具分隔条 /// /// 返回添加的分隔条对象 addSeparator: function() {...}, /// /// 删除工具分隔条 /// /// 分隔条对象 deleteSeparator: function(separator) {...}, /// /// 显示对话框 /// /// 标题/// 显示的html内容 /// 左边距 /// 上边距 /// 宽度/// 高度showDialog: function(title, html, left, top, width, height) {...}, /// /// 关闭对话框 /// closeDialog: function() {...} } 控制对话框显示位置或保存用户使用习惯可以调用如下公用函数: /// /// 获得元素的绝对坐标对象(访问x,y字段) /// /// HTML元素 /// 返回元素所在的绝对坐标 function absolutePoint(element) {...} /// /// 设置Cookie值 /// /// Cookie变量名 /// Cookie值 /// 保存的天数 function setCookie(name, value, days) {...} /// /// 获取Cookie值 /// /// Cookie变量名 /// 返回获取到的Cookie值 function getCookie(name) {...} 推荐自己的插件如果想让更多的网友分享到您的创意和乐趣,那么赶紧向我们发邮件推荐您的插件吧。
‘陆’ jsp程序设计中怎么弹出提示对话框
1、只是提醒,不能对脚本产生任何改变;
2、一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断;
3、一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的 插入UBB格式图片。
‘柒’ java textArea如何追加显示文字
可以直接用TextArea的append方法进行追加即可,之后会自动进行显示的。
代码举例:
TextArea ta_log = new JTextArea(10,10);
ta_log.setLineWrap(true);
ta_log.setWrapStyleWord(true);
JScrollPane p_log = new JScrollPane(ta_log);
ta_log.append(“我是追加的内容”);
ta_log.append("\r\n");
‘捌’ Jolt调用Tuxedo服务,该怎么处理
对于BEA的中间价产品TUXEDO,常采用C/C++语言编写后台服务程序,广泛应用于电信、金融等领域,因项目的需要,我们经常面临调TUXEDO服务的需求!
对于JAVA调TUXEDO服务,有三种方法:一是通过JNI,二是通过WTC,三是通过JOLT!这三种方式各有优劣,简单的描述为:
JNI
优--无需购买License;发布TUXEDO服务无需做额外限制;无需借助于任何J2EE容器
劣--JNI影响系统移植;防止过度JNI带来性能问题
WTC(WEBLOGIC为TUXEDO定制)
优--因定制,存在一套和TUXEDO API相对应的JAVA API;发布TUXEDO服务无需做额外限制;双向调用
劣--需要购买License;依赖于WEBLOGIC容器,不能移植到其它J2EE容器(如WEBSPHERE,JBOSS)
JOLT
优--可用于但不依赖于J2EE容器(如WEBLOGICWEBSPHERE,JBOSS);提供的API用WTC类似但不同;
劣--需要购买License;发布TUXEDO服务有些额外的要求;不提供集成的 WebLogic Server-Tuxedo 事务的机制
由此可知,第一,在受限于License经济压力或无法要求UXEDO服务方发布服务的情况下,我们可以选择JNI方式调TUXEDO服务;
第二,当需要一般 Java 客户端或其他 Web 服务器应用程序且 WebLogic Server 不是解决方案的一部分时,用户应使用 Jolt(而不使用 WTC)作为解决方案。
对于jolt方式调TUXEDO服务,3个必须的JAR包:jolt.jar、joltjse.jar、joltwls.jar,下面信息也许对您有帮助:
[转贴]不涉及wls的jolt客户端实现
1、如果不使用wls,同样可以使用jolt提供的pool功能,而这又分为两种:一种是基于web容器的servlet jolt
pool,另一种则是普通java客户端的jolt
pool。前者在$TUXDIR/udataobj/jolt/examples/servlet/simpapp下有示例,后者则未提供。
2、如果不使用jolt产品自带的pool,也可以自己实现。套路为:创建Jolt Session >
基于此session构建JoltRemoteService对象并发起tuxedo调用 > 释放jolt
session。这里有个要点就是在使用session前需要用session.isAlive()来判断当前session是否可用,因为JSL的-T
参数及防火墙对idle连接的干扰都可能导致已有的session是无效的。
3、创建JoltRemoteSession时一定记得为三个超时属性(IDLETIMEOUT/RECVTIMEOUT/SENDTIMEOUT)进行
显式的设置。idle超时和tuxedo的JSL
-T属性对应,该设置将保证session.isAlive()返回正确的布尔值。RECV超时则控制client端自发起call至收到tuxedo
return这一过程的预期时常。
5、tuxedo侧在ubb里为相应的service配置了SVCTIMEOUT,所以service执行超时后会收到SIGKILL而被终止,这样一
来,客户端的call会收到TPESVCERR错,对应的异常为bea.jolt.ServiceException。客户端需要对此异常进行处理,此
外,客户端捕获此异常的时间点应当和ulog中该server被kill的时间点对应。
6、在客户端,时不时会发现由于达到RECVTIMEOUT而导致的客户端接收超时。客户的疑问是:当前RECVTIMEOUT设置为25s,而ubb中
相应SVCTIMEOUT设置为10s且scanunit为默认的10s,所以理论上不应发生25s的客户端RECVTIMEOUT超时。庹达人提出了一
种怀疑,即client端请求抵达tuxedo侧时,server出现排队情况,请求未被及时处理,这个排队时长决定了20s以外的时间差。对于此,建议
客户使用MSSQ,并监控pq的情况。
使用XMLink和Jolt实现IBM WebSphere与BEA Tuxedo的互连 第一部分
使用XMLink和Jolt实现IBM WebSphere与BEA Tuxedo的互连 第二部分
下面,我们重点关注下WTC,WebLogic Tuxedo Connector (WTC) 提供了 WebLogic Server 应用程序与
Tuxedo 服务之间的互操作性。WTC 允许 WebLogic Server 客户端调用 Tuxedo 服务,Tuxedo 客户端调用
WebLogic Server Enterprise Java Bean (EJB) 来响应服务请求,两者之间的简单关联关系如下图:
关于WTC的配置原则和最佳实践可参考下面的链接:
配置准则
最佳实践
为方便记,摘录过来:
配置准则
在配置 WebLogic Tuxedo Connector 时请使用以下准则:
最佳实践
以下部分提供了使用 WTC 时的最佳实践:
请参阅“WebLogic Tuxedo Connector 编程人员指南”中的应用程序错误管理。
请参阅“WebLogic Tuxedo Connector 管理指南”中的系统级调试设置。
将 Security 的值设置为 DM_PW。请参阅“WebLogic
Tuxedo Connector 管理指南”中的远程访问点的身份验证。
启用链接级加密并将 min-encrypt-bits 参数设置为
40,将 max-encrypt-bits 设置为 128。请参阅“WebLogic Tuxedo Connector 管理指南”中的链接级加密。
在 WebLogic Server 群集的所有节点上配置 WTC 实例。
每个群集节点中的每个 WTC 实例都必须具有相同的配置。
请参阅“WebLogic Tuxedo Connector 管理指南”中的如何管理群集环境中的
WebLogic Tuxedo Connector。
在配置连接策略时,请使用 ON_STARTUP 和 INCOMING_ONLY。
ON_STARTUP 和 INCOMING_ONLY 总是成对出现。例如,如果使用 ON_STARTUP 配置了
WTC 远程访问点,则必须将远程访问点的 Tuxedo 域配置的 DM_TDOMAIN 部分配置为 INCOMING_ONLY。在此情况下,WTC
总是充当会话发起方。请参阅“WebLogic Tuxedo Connector 管理指南”中的配置访问点之间的连接。
避免使用连接策略 ON_DEMAND。首选连接策略是 ON_STARTUP 和 INCOMING_ONLY。这样会减少因路由ON_DEMAND 的语义而引起的服务请求失败。请参阅“WebLogic
Tuxedo Connector 管理指南”中的配置访问点之间的连接。
在设计应用程序时,请考虑使用以下 WTC 功能:链接级故障转移、服务级故障转移和负载平衡。请参阅“WebLogic Tuxedo Connector 管理指南”中的配置故障转移和故障回复。
请考虑使用 WebLogic Server 群集提供额外的负载平衡和故障转移。要在 WebLogic Server 群集中使用 WTC,请执行下列操作:
如果 WTC 到 Tuxedo 的连接使用了 Internet,则要使用以下安全设置:
应用程序逻辑应该提供机制来管理和解释应用程序中的错误条件。
避免在 TypedFML32 缓冲区内使用嵌入的 TypedFML32 缓冲区。请参阅“WebLogic
Tuxedo Connector 编程人员指南”中的将 FML 用于 WebLogic Tuxedo
Connector。
如果应用程序处理重负载,请考虑配置更多的远程 Tuxedo 访问点并让 WTC 平衡访问点之间的工作负载。请参阅“WebLogic Tuxedo Connector 管理指南”中的配置故障转移和故障回复。
在使用事务应用程序时,尽量让同一事务中涉及的远程服务能够从同一远程访问点访问。请参阅“WebLogic Tuxedo Connector 编程人员指南”中的 WebLogic
Tuxedo Connector JATMI 事务。
从网关调度服务时,可用的客户端线程数可能会限制运行的并发服务数。没有任何 WebLogic Tuxedo Connector 特性可以增加可用线程的数量。在调用服务时请使用合理的线程模型。请参阅“配置
WebLogic Server 环境”中的线程管理和使用工作管理器优化调度的工作。
WebLogic Server 9.2 及更高版本提供了改进的路由算法,这增强了事务性能。具体说就是,当 2 阶段提交 (2PC) 事务中具有不止一项 Tuxedo 服务请求时,性能就会相应提高。如果应用程序仅向
Tuxedo 域执行单个服务请求,则可以通过设置以下 WebLogic Server 命令行参数来禁用此功能:
通过在缓冲区中使用最大数量的对象来调用构造方法 TypedFML32。即使是很难预测最大数量,提供合理的数量也可以提高性能。可以通过将字段的数量乘以
1.33 得到近似的最大数量。
注意:
注意,此性能提示不应用于 TypedFML 缓冲区类型。
例如:
如果在 TypedFML32 缓冲区类型中有 50 个字段,那么最大数量就是
63。调用构造方法 TypedFML32(63, 50) 比 TypedFML32() 执行得更好。
如果在 TypedFML32 缓冲区类型中有 50 个字段,并且每个字段最多可以有
10 个事件,则调用构造方法 TypedFML32(625, 50) 将会有比 TypedFML32() 更好的性能。
当配置 Tuxedo 应用程序(这些应用程序可以作为与 WTC 客户端互操作的服务器)时,请考虑平行问题,这一点可以通过在不同 Tuxedo 计算机上仔细配置不同服务器来实现。
要知道在 Tuxedo 应用程序中可能会存在数据库访问死锁现象。可以通过认真配置 Tuxedo 应用程序来避免死锁现象。
如果正在使用 WTC 负载平衡或服务级故障转移,BEA 建议不要禁用 WTC 事务关系。
针对负载平衡出站请求,为导入服务配置使用不同密钥的多个条目。导入服务将使用复合密钥来确定每个记录的唯一性。复合密钥的构成:服务名称 + 本地访问点 + 远程访问点列表中的主要路由。
下面是一个如何为 service1 在 TDomainSession(WDOM1,TUXDOM1) 和TDomainSession(WDOM1,TUXDOM2) 之间正确配置负载平衡请求的示例:
ResourceName
LocalAccessPoint
RemoteAccessPointList
RemoteName
service1
WDOM1
TUXDOM1
TOLOWER
service1
WDOM1
TUXDOM2
TOLOWER2
下面是一个错误配置负载平衡请求的示例。下面的配置会导致 service1 具有相同的复合密钥:
ResourceName
LocalAccessPoint
RemoteAccessPointList
RemoteName
service1
WDOM1
TUXDOM1
TOLOWER
service1
WDOM1
TUXDOM1
TOLOWER
在建立连接/会话前更改该会话/连接配置(本地 AP、远程 AP、密码和资源):
接受更改并在新的会话/连接中实现这些更改。
在建立连接/会话后更改该会话/连接配置(本地 AP、远程 AP、密码和资源):
接受更改,但是要到连接断开并重新连接后,才在现有的连接/会话中实现这些更改。请参阅“管理控制台联机帮助”中的定位
WTC 服务。
更改导入和导出服务配置:
接受更改并在下一个入站或出站请求中实现这些更改。BEA 建议不要使用此做法,因为这会让正在进行的请求处于未知状态。
更改 tBridge 配置:
对已部署的 WTC 服务进行任何更改都会导致异常。在进行任何 tBridge 配置更改前都必须先取消对 WTC 服务的定位。在取消定位和进行配置更改后,必须定位 WTC 服务以便实现更改。
在配置中可以有多种 WTC 服务。
只能将一种 WTC 服务定位到服务器实例。
WTC 不支持连接缓冲池。WTC 通过单个物理连接多路传输请求。
配置更改可按照如下方式实现:
‘玖’ 论坛制作用什么语言
目前的论坛程序种类大致有以下几种: 1)JSP 2)ASP 3)CGI 4)PHP 1)JSP源码:基于J2EE技术编写的论坛程序,应该说Java技术是目前和今后网络发展的方向,不过作为个人论坛来讲,用这种语言开发的程序使用的人不是很多,目前JSP论坛程序有:雷霆论坛;凌云论坛;阿菜论坛JSPbeta-1版。 2)ASP源码:提起ASP,相信搞论坛的大虾们再熟悉不过啦,着名的动网论坛就是使用这种语言编写的。其安全、稳定的特点另许多人都选择了它,当时我差点也选择了它!~~目前ASP论坛程序主要有:动网论坛;雪人论坛等等。 3)CGI源码:同样,也有响铛铛的论坛程序,LB5000论坛,与动网论坛一样,它也有很多使用者。可以说,目前国内使用最多的大概就要属这两种论坛啦,而且国际上使用这两种语言编写的论坛程序的也很多。目前CGI论坛程序主要有:LB5000论坛、UBB论坛等等。 4)PHP源码:我们重点介绍一下PHP论坛程序。PHP语言是一种类HTML语言,与HTML语言有许多相似的地方,这对于制作网页来说,就带来了便利,只要稍微懂一些HTML语言,就可以看懂PHP语言的大致意思。 PHP源码与其他几种源码比较起来,优点是代码编写简单,执行效率高,系统资源占用的少。 目前PHP论坛程序主要有:Discuz!board、vBulletin、WDB论坛等等。应该说PHP的论坛程序很多,目前国内的主要的PHP论坛都是国外版本的汉化,很少有自主开发的。但是Discuz!board却是这其中相当出色的一员。 接触和使用Discuz!board以来,感觉它的界面非常友好,具有中国人自己的特色,很简单明了,而且最主要的是它是国人自己开发的。作为同为喜欢编程的我,我非常能理解编程的艰辛,所以非常感谢Crossday为广大网友做出的贡献。 论坛种类暂且谈这么多,我也接触的不太多,只是谈了谈自己的感觉比较而已。