`

JForum框架结构和主要配置文件说明

阅读更多

JForum框架结构和主要配置文件说明

关键字: jforum二次开发

学习JForum总结:
环境搭建:TOMCAT + MYSQL

第一步:安装部署
1、  去http://www.jforum.net/download.jsp网站下载jforum的发布包。
2、  安装mysql数据库。为了解决论坛出现的中文乱码问题,可以通过手动修改配置文件或者在安装mysql时设置编码为utf8,
可以避免页面中显示乱码。安装好mysql后,进入>mysql状态输入:CREATE   DATABASE   JForum  DEFAULT   CHARACTER   SET   utf8   COLLATE   utf8_general_ci; 
3、  将jforum发布包拷贝到D:\apache-tomcat-6.0.16\webapps目录下即可。安装配置jforum可以通过两种方式实现,手动修改配置文件 或者通过页面提示信息安装步骤。为避免出错,我们选取自动安装的方式进行。
启动TOMCAT服务后,通过浏览器访问http://localhost:8080/jforum/install.jsp依照提示信息配置好所需信息,一路next。安装完成之后访问http://localhost:8080/jforum将会出现论坛首页。

第二步:分析JFORUM框架中配置文件
1、  zh_CN.properties文件中配置页面中显示的中文常用汉字。cmd下可以通过native2ascii -reverse  zh_CN.properties  a.properties命令对其反编码,开发者可以配置自己需要的页面中需要显示常量信息,编辑保存后再通过native2ascii  a.properties zh_CN.properties 在编码回ascii。
2、  modulesMapping.properties文件中描述了模块名与实现该模块功能的java类的对应关系。
3、  locales.properties文件在SystemGlobals.properties文件中被配置加载,locales.properties文件中配置各种国家支持的语言。locales.properties文件在ConfigAction.java中被读取。
4、  webapps\jforum\WEB-INF\config\database\generic\generic_queries.sql  文件中配置数据库查询语句而该sql文件又在SystemGlobals.properties文件中被配置加载。SystemGlobals.properties文件中配置的变量信息在ConfigKeys.java类文件中配置对应的常量字符串。可以通过String q = SystemGlobals.getSql("XXX")方式去获得需要的配置好的sql语句。I18n.getMessage("XXX")方式可以在页面中或者类中获得zh_CN.properties配置文件中配置的中文常量
5、  templatesMapping.properties配置文件配置相关的页面对应文件。templatesMapping.properties文件中配置的变量信息在TemplateKeys.java类文件中配置对应的常量字符串。
6、  jforum-custom.conf配置文件为有关数据库信息的文件,可以通过手动去修改,该文件为通过自动方式安装配置jforum时产生。
7、  urlPattern.properties配置文件为相关的action配置参数。

第三步:开发常用的包说明
1、  net.jforum.view.admin目录和net.jforum.view.forum目录下为存放的action文件,action文件中去调用dao接口对应的方法。
2、  net.jforum.dao目录下文件为数据库操作接口类文件。
3、  net.jforum.dao.generic目录下文件为与数据库交互的类文件,即接口的具体实现。
4、  net.jforum.util.preferences目录下的文件为比较重要的几个常量配置类以及配置文件读取类。
5、  net.jforum.entities目录下文件为论坛中各个对象实体。

第四步:重要的类说明
        1、  ConfigLoader.java 类文件加载各个配置文件。
2、  ConfigKeys.java类文件中配置SystemGlobals.properties文件中配置的变量信息
3、  TemplateKeys.java类文件中配置templatesMapping.properties文件中对应的页面信息 action中调用时通过this.setTemplateName(XX)去实现跳转,通过this.context.put("message", message)方式实现向页面set对象信息供页面调用。
4、  SystemGlobals.java类文件为一个读取相关配置文件获得相关配置信息的帮助类。
5、  DataAccessDriver.java类文件为创建dao实体的一个抽象类,通过XXXDAO um = DataAccessDriver.getInstance().newXXXDAO()方式去实例化dao对象。
6、  GenericDataAccessDriver.java类文件为DataAccessDriver抽象类文件的具体实现类,创建DAO对象的类与数据库进行交互。
7、  JForumExecutionContext.getConnection().prepareStatement(String sql) 通过此种方式在DAO中去创建PreparedStatement对象。然后由该对象执行数据库操作获得结果。

第五步:测试DEMO
        1、  通过修改配置文件modulesMapping.properties类添加一个模块。可以添加一个自己的测试DEMO模块,在该配置文件末尾添加如下代码myTest=net.jforum.test.MyTestAction 。作为该模块的处理类。
2.   在templatesMapping.properties文件中添加:  myTest.addTest = myTest_add.htm  myTest.listTest = myTest_list.htm  此文件映射action和result 模板的关系,表明执行后跳转的页面对应关系。
3. 在urlPattern.properties中添加:  myTest.add.0 =  myTest.list.0 =  此文件设置每个action参数.我们这action无参数。
4.   修改net.jforum.util.preferences.TemplateKeys类,添加:  public static final String MYTEST_ADD = "myTest.add"; public static final String MYTEST_LIST = "myTest.list";  引号里面的对应的字符串常量要与templatesMapping.
properties文件中定义对应页面的属性保持一致性。通过定义该信息,可以在action中去set其对应的跳转页面信息。
5.   参照第二步第1条提示修改a.properties文件后,编辑保存后再通过native2ascii  a.properties zh_CN.properties 在编码回ascii文件格式。
6、  编辑header.htm页面添加如下代码,添加“我的测试”超级连接
     <img src="${contextPath}/templates/${templateName}/images/icon_mini_members.gif" alt="[Members]" />&nbsp;
<a id="latest2" class="mainmenu" href="${JForumContext.encodeURL
("/myTest/addList")}">${I18n.getMessage("myTest")}</a> &nbsp;
7、  上面部分为测试demo跳转正常的测试,如果要与数据库进行交互,需要在另行参照如下步骤进行:
     a)、数据库中增加一张测试表供测试使用。
     b)、修改zh_CN.properties添加需要在页面显示的测试表字段中文信息。(步骤略)
     c)、在net.jforum.dao目录下增加一测试类DAO接口文件TestDAO.java 以及net.jforum.dao.generic目录下的测试接口实现类GenericTestDAO.java  内部实现该测试对象的一系列与数据库交互的方法。
     d)、在net.jforum.entities目录下增加测试试题对象的javabean文件。
     e)、在WEB-INF\config\database\generic\generic_queries.sql文件中增加有关测试实体数据库交互的数据库脚本。
     f)、完善MyTestAction.java 类文件中的list方法。内部实现与之对应的查询方法,并将结果对象返回到页面。

PS:如果用的是oracle数据库 只要修改jforum-custom.conf  贴一份oracle的配置
#Installation specific configuration options
#Mon Mar 12 12:54:53 CST 2007
dao.driver=net.jforum.dao.oracle.OracleDataAccessDriver
database.connection.dbname=zjport
database.connection.driver=oracle.jdbc.OracleDriver
database.connection.host=192.168.180.25
database.connection.implementation=net.jforum.PooledConnection
database.connection.password=action
database.connection.pool.max=50
database.connection.pool.min=5
database.connection.pool.timeout=120
database.connection.port=1521
database.connection.string=${database.connection.string_thin}
database.connection.string_local=jdbc\:oracle\:oci\:${database.connection.username}/${database.connection.password}@${database.connection.dbname}
database.connection.string_thin=jdbc\:oracle\:thin\:${database.connection.username}/${database.connection.password}@${database.connection.host}\:${database.connection.port}\:${database.connection.dbname}
database.connection.username=operation
database.driver.name=oracle
database.support.autokeys=false
database.support.subqueries=true
dbencoding=utf-8
forum.link=http\://localhost\:8080/JForum.T/
homepage.link=http\://localhost\:8080
i18n.board.default=zh_CN
installed=true
search.indexing.enabled=true
user.hash.sequence=348032218c3b45d92e8075662f8b1614
分享到:
评论
1 楼 wgx19830922 2009-08-10  
     [img][/img]    
引用
[i][/i][b][/b]
引用
[img][/img][url][/url]
[flash=200,200][/flash]
       

相关推荐

    jforum说明文档 源码解析 单点登录 jforum缓存

    Jforum的控制器基于Struts框架,提供了一种灵活的方式来组织和管理应用的流程。 **数据库和重要配置文件** Jforum的数据库设计是其核心部分,包含了用户信息、论坛板块、主题、帖子等数据表。配置文件如`database....

    jforum的源代码和物理结构

    1. **Web 应用目录(WEB-INF)**:这里包含了应用的配置文件、web.xml(部署描述符)、JSP 文件和静态资源。 2. **Java 源代码目录(src)**:包含了所有 Java 类,按包划分,如业务逻辑层(service),数据访问层...

    jforum3源代码 数据库

    5. **配置文件**:如`forum.properties`,用于设置应用的全局属性,包括数据库连接信息。 **二、数据库配置** JForum3默认使用MySQL作为数据库,但也可以支持其他SQL数据库。数据库配置主要在`forum.properties`...

    jforum3.0项目需要的jar包

    7. **数据源连接**:在服务器的配置文件(如Tomcat的`context.xml`或`server.xml`)中,你需要配置数据源连接,包括数据库URL、用户名、密码和驱动类名。确保这些配置与你创建的数据库匹配。 8. **文档和配置**:...

    jforum-2.1.8.zip

    1. **WEB-INF**:包含web.xml配置文件,定义了Servlet和Filter等Web应用的核心配置。 2. **classes**:存放编译后的Java类文件,包括控制器、模型、视图等。 3. **lib**:存储项目所需的第三方库,如Servlet API、...

    Jforum-2.1.9

    例如,WEB-INF目录下存放着web.xml配置文件和库文件,src目录包含了源代码,lib目录则存放着项目依赖的JAR包。理解这些目录结构对于理解和维护项目至关重要。 此外,Jforum还提供了一套完善的API和文档,帮助开发者...

    jforum开源的论坛文档

    #### 二、jForum的主要特点 1. **强大的用户管理功能**:包括用户注册、登录、权限管理等功能。 2. **丰富的主题与版块设置**:支持创建多个主题区与版块,方便分类管理讨论话题。 3. **消息通知系统**:支持站内信...

    jforum二次开发 详解 BBS开源安装

    3. 安装与配置:按照官方文档指引,配置数据库连接信息,修改配置文件,如`conf/forums.properties`和`conf/config.properties`。 4. 编译与部署:使用构建工具将源码打包成WAR文件,然后将其部署到Web服务器上。 ...

    jforum项目

    在数据库层面,JForum依赖于MySQL,我们可以看到压缩包中的`my.cnf`文件,它是MySQL的配置文件。该文件用于设置MySQL服务器的启动参数,包括端口号、最大连接数、日志设置等。了解这些参数对于优化数据库性能至关...

    jforum-2.1.4-src.zip

    文件列表中的“JForum-2.1.4”目录包含了项目的全部源码和配置文件,其中“WEB-INF”目录下存放了Web应用的相关资源,如web.xml配置文件,定义了应用的初始化参数和Servlet映射。"src"目录则是Java源码的存放地,...

    开源jsp论坛_ jforum 2.1.4源码

    1. **目录结构**:理解项目文件的组织方式,包括源码、配置文件、资源文件等。 2. **Servlet和JSP**:查看JForum如何使用Servlet处理HTTP请求,以及JSP如何生成动态内容。 3. **数据库交互**:研究如何使用JDBC或者...

    基于Java的论坛系统 JForum.zip

    它采用Java Servlet和JavaServer Pages(JSP)技术,以及Model-View-Controller(MVC)设计模式进行开发,这使得代码结构清晰,易于维护和扩展。 **1. MVC设计模式** MVC模式是软件工程中的一个重要概念,它将应用...

    java开源包1

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包11

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包2

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包3

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包6

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包5

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

    java开源包10

    [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的...

Global site tag (gtag.js) - Google Analytics