2007-10-01

jforum安装

关键字: jforum 安装 简体中文 出错
最近想安装几个开源的论坛,在网上找了一下,用JForum的比较多,我也安装了一个来试一试。另外,关注java开源项目的可以来这里看看: http://www.open-open.com。这是java开源项目介绍的好去处。

1:对于java开发者来说,jdk,tomcat和mysql是必有的吧,我就不在这多说了。我机器上的是jdk1.5+tomcat5.5+mysql5.0

2:到官网上下载jforum,现在版本是2.1.7 http://www.jforum.net/index.jsp

3:解压jforum-2.1.7-b3-src.zip到webapp下取名jforum(可以任意的名字)

4:在mysql中建数据库jforum(可以任意的名字),执行jforum\WEB-INF\config\database\mysql下的mysql_db_struct.sql建表。
有的文章说要修改\jforum\WEB-INF\config\jforum-custom.conf 和\forum\WEB-INF\config\database\mysql\mysql.properties两个文件,找到database.connection.string参数,在这个参数值后面增加如下字符串:&useUnicode\=true&characterEncoding\=utf8 。但是我没有修改。可能是因为我安装mysql的时候就选的是utf8编码吧。

5:重启tomcat,运行http://localhost:8080/jforum/install.jsp进行安装,注意两项设置,默认显示语言选择Chinese Simplifed (zh_CN)数据库编码选择utf-8,对其他项设置,点击下一步:核对设置,点击开始安装:安装成功,点击进入论坛。

安装时可能遇到问题:
Please give write access for the user who is running the webserver to the file 'index.htm' and for the directory 'WEB-INF/config' and its subdirectories before continuing.

说是文件没有写权限,去掉只读属性仍然不行。据说这是一个bug,在官网上有报告,解决方法是在JForum的安装目录下增加了一个名为 __index.redirect 的文件,文件内容如下:
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"    
"http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd">  
<html>  
<head>  
<title>JForum </title>  
</head>  
<body>  
<script type="text/javascript">  
document.location = "forums/list.page";   
</script>  
</body>  
</html>  
  


再执行一次配置页http://localhost:8080/jforum/install.jsp就可以了。

安装完毕!
总体来说,jforum是模仿phpbb写的,使用的是classic-blue风格,但不能自己选择风格,只能自己改了。这点不如phpbb做得好。这是网友对jforum的评价:
引用
    JForum是著名的开源论坛,支持多达数十种的多国语言,其中包括简体中文(管理界面没有完全汉化)。JForum功能强大,界面美观,加上代码结构清晰,而且采用的是BSD授权,不必担心不必要的版权纠纷。可以说JForum是论坛二次开发的绝佳选择。
    JForum采用的是自己的MVC框架,因此在初次接触的时候可能会有些不习惯,但在熟悉后,该框架还是很容易使用的。在这里只是对JForum的框架进行简单的介绍以利于利用JForum进行二次开发,具体的细节请参考JForum代码。
    JForum的MVC框架有些类似Struts。
    先看请求的url地址/bbs/jforum.page?module=recentTopics&action=topRep_Topics_thisDay。
    首先在在web.xml中配置过滤器,将所有以.page的请求交给net.jforum.JForum统一处理转发。请求在交给JForum后,JForum要获取传递过来的一些参数从而决定由哪个模块来具体处理请求。参数module,决定由哪个模块来处理。model的名字和具体class的对应关心在配置文件modulesMapping.properties里进行配置。当前操作由具体的哪个函数处理由action参数指定。action就是要执行的方法名,在无法找到指定处理方法时执行list方法。在处理完请求后,调用this.setTemplateName(TemplateKeys.SSOEXT_TOPREPMSGS_PERDAY);方法设置返回页面。其中页面和页面名称的对应关系在templatesMapping.properties中设定。
    再简单的介绍一下JForum新增功能的开发流程。新建一个Action继承Command。在配置文件中modulesMapping.properties中增加新建立Action的对应关系。实现Command中定义的list方法,完成在未指定action情况下的默认操作。在templatesMapping.properties中增加返回页面的对应关系,在类TemplateKeys里增加返回页面和templatesMapping.properties配置文件里的对应关系。利用this.setTemplateName(TemplateKeys.RECENT_LIST);设置返回页面。
    JForum默认采用的是FreeMarker作为表示层,但如果对FreeMarker不熟也可以采用jsp做为表示层的实现。



我使用以后感觉jforum功能还行,但有一个缺点,发帖子的时候如果要附加图片,只能通过url来指定,不能本地上传。如果上传附件,图片也不会显示,当成普通附件下载。(有人帮我解决这个问题吗?)

另外,jforum现在只支持繁体中文,可以下载我这的附件有简体中文,下载后将language_zh_CN.properties改名为zh_CN.properties并拷贝到\jforum\WEB-INF\config\languages下,并打开\jforum\WEB-INF\config\languages下的locales.properties,添加zh_CN = zh_CN.properties并保存,重启tomcat,这样在后台设置语言就有了zh_CN,修改设置后显示的是简体中文。
  • zh.rar (29.7 KB)
  • 描述:
  • 下载次数: 43
评论
zhngling 2008-06-03
2.1.8可以发帖子的时候附加图片,
CanBeatle 2007-10-11
你写了__index.redirect 文件吗
ldjsyl 2007-10-06
楼主,我安装后出现了这样一个情况,请问是怎么回事啊?

Expression templateName is undefined on line 5, column 14 in exception.html. The problematic instruction: ---------- ==> ${templateName} [on line 5, column 12 in exception.html] in include "${templateName}/message.htm" [on line 5, column 1 in exception.html] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Expression templateName is undefined on line 5, column 14 in exception.html. at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) at freemarker.core.Expression.getStringValue(Expression.java:118) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.renderElementToString(Environment.java:1461) at freemarker.core.StringLiteral.getStringValue(StringLiteral.java:95) at freemarker.core.Include.accept(Include.java:110) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.process(Environment.java:176) at freemarker.template.Template.process(Template.java:232) at net.jforum.exceptions.ExceptionWriter.handleExceptionData(ExceptionWriter.java:110) at net.jforum.JForum.handleException(JForum.java:284) at net.jforum.JForum.service(JForum.java:205) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.jforum.util.legacy.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Unknown Source)
CanBeatle 2007-10-02
不用客气
bood 2007-10-02
不错,感谢博主,我也碰到了没有权限的错误,按你的方法解决了!
发表评论

您还没有登录,请登录后发表评论

CanBeatle
  • 浏览: 11221 次
  • 性别: Icon_minigender_1
  • 来自: 呼和浩特
  • 详细资料
搜索本博客
我的相册
690b9a4b-2efc-3430-9486-c41ef73bc6e3-thumb
DSCF0128
共 9 张
最近加入圈子
存档
最新评论