`

jforum论坛框架介绍(两篇合并)

阅读更多

第一部分转载自:http://www.wangchao.net.cn/bbsdetail_39275.html

第二部分转载自:http://hi.baidu.com/liangqj/blog/item/f7c47ef09ba0f7aea50f521e.html      

      JForum是著名的开源论坛,支持多达数十种的多国语言,其中包括简体中文(管理界面没有完全汉化)。JForum功能强大,界面美观,加上代码结构清晰,而且采用的是BSD授权,不必担心不必要的版权纠纷。可以说JForum是论坛二次开发的绝佳选择。

一、安装JForum

      在这简单介绍一下JForum论坛系统的安装和配置过程,

1.下载JForum
  JForum是http://sourceforge.net 项目的一员

        主页:http://sourceforge.net/projects/jforum

        官方网站:www.JForum.net
  也可以直接到:http://sourceforge.net/project/showfiles.php?group_id=15940 这里有JForum的所有发布版本的下载地址。
  CVS服务器:http://java.net

        CVS版的源代码:http://jforum.dev.java.net
  下载后,解压zip文件到你的webapp目录下。解压后的目录名字可能是“beta”,“1.0final”等字样,只是程序的版本而已,不必深究。


2.配置
  在正式使用JForum之前,你需要做一些简单的配置,下面我们一步一步的说明这些步骤。

  • 首先,你需要有个安装配置完好的MySQL 或者PostgreSQL数据库系统
  • 编辑系统下WEB-INF/config/database/<DBNAME>/<DBNAME>.properties文件,<DBNAME>是你将要使用的数据库系统的名字,比如:mysql、postgresql。
  • 在这个配置文件中主要修改,database.connection.username、database.connection.password两项,他们分别是数据库的用户名和密码。
  • 其他的选项如果你不了解,将不需要修改,保持默认值系统就可以很好的运行。
  • 然后,创建数据库中和表,直接使用WEB-INF/config/database/<DBNAME>目录下 的<DBNAME>_db_struct.sql 就可以。(JForum默认使用的数据库名是jforum,所以你需要提前建一个这样名字的库)
  • 运行WEB-INF/config/database/<DBNAME>目录下的<DBNAME>_data_dump.sql教本文件,初始化表中的信息。

 

3.配置Tomcat
  ( ps: 其实你可以选择其他任何的j2ee服务器,只是这个例子使用的是Tomcat )
  这里没有什么可说的,和你配置其他java web项目一样。


4.其他

  • JForum使用servlet映射到*.page页面文件,你必须确保web.xml已经正确的配置了这个信息。
  • 在JForum的web中images目录在系统中必须有写入权限,否则,上传图片是将会报错。
  • 在页面上有个Admin Control Panel连接,那里是超级管理员界面。默认管理员的用户名和密码是:Admin/admin

到这里,你就可以正常的运行你的JForum系统了,如果遇到问题,请到技术支持论坛上去讨论。
技术支持论坛: http://www.jforum.net/        

二、JForum二次开发

        JForum采用的是自己的MVC框架,因此在初次接触的时候可能会有些不习惯,但在熟悉后,该框架还是很容易使用的。在这里只是对JForum的框架进行简单的介绍以利于利用JForum进行二次开发,具体的细节请参考JForum代码。
     JForum的MVC框架有些类似Struts。


    1.先看请求的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中设定。

    2.再简单的介绍一下JForum新增功能的开发流程。

  • 新建一个Action继承Command。在配置文件中 modulesMapping.properties中增加新建立Action的对应关系。
  • 实现Command中定义的list方法,完成在未指定 action情况下的默认操作。
  • 在templatesMapping.properties中增加返回页面的对应关系,
  • 在类TemplateKeys里增加返回页面和templatesMapping.properties配置文件里的对应关系。
  • 利用 this.setTemplateName(TemplateKeys.RECENT_LIST);设置返回页面。
  • JForum默认采用的是FreeMarker作为表示层,但如果对FreeMarker不熟也可以采用jsp做为表示层的实现。

 

分享到:
评论
1 楼 chaos1981 2009-07-02  
url地址/bbs/jforum.page?module=recentTopics&action=topRep_Topics_thisDay。
新版本不是这样的了
而是http://localhost:8083/jforum/posts/list/0/11.page

相关推荐

Global site tag (gtag.js) - Google Analytics