jforum安装-JForum2.1.8-J2SE6.0-Tomcat5.5.17-MySQL5.0.6JForum的安装步骤1,JForum的下载。到JForum的官方网站上下载JForum的最新版本。目前(2008年3月)的最新版本是2.1.8。2,准备数据库(本文使用MySQL)2.1创建jforum数据库,设置为utf-8编码。utf-8编码可以在安装时默认设置为utf-8编码,或者单独设置。通过cmd命令行进入:C:\cdmysqlC:\mysql\bin\mysql-uroot-pEnterpassword:或者通过mysql直接进入。建立数据库mysqlCREATEDATABASEjforumDEFAULTCHARACTERSETutf8;mysql\qByeC:\mysql\bin\2.2创建数据库用户分配给其足够的权限GRANTALLPRIVILEGESON*.*TOjforum_user@localhostIDENTIFIEDBY'my_password'WITHGRANTOPTION;GRANTALLPRIVILEGESON*.*TOjforum_user@%IDENTIFIEDBY'my_password'WITHGRANTOPTION;mysqlflushprivileges;mysql\qByeC:\mysql\bin\用户名/密码根据自己的情况设置。2.3执行JForum数据库创建脚本(/WEB-INF/config/database/mysql/mysql_db_struct.sql)登录mysql管理台,执行以上sql文件mysqlsource文件路径或则mysql\.文件路劲2.4执行JForum初始化数据脚本(/WEB-INF/config/database/mysql/mysql_data_dump.sql)执行方法同上。至此,数据库的准备工作完成。3,修改全局配置文件SystemGlobals.properties打开WEB-INF/config/SystemGlobals.properties文件,做以下修改:3.1查找database字样,确认[DATABASESETTINGS]数据库设置正确。默认设置为mysql,若使用其他数据库,则需要修改。3.2修改forum.link,homepage.link等配置。根据JForum版本的不同,可能是WEB-INF/config/jforum-custom.conf。请根据实际情况修改。将SystemGlobals.properties拷至:tomcat6放在$tomcat_home\lib下;tomcat6以下版本放在$tomcat_home\common\classes\下4,修改数据库配置文件mysql.properties打开/WEB-INF/config/database/mysql/mysql.properties文件,根据刚才数据库的设置情况加以修改。主要修改数据库连接的用户名和密码,默认用户名与密码都为root5,deployjforum.war(我就直接解压,放在tomcat\webapps下了)将jforum.war或者解压缩之后的文件夹jforum拷贝到TOMCAT_HOME/webapps/目录解压缩后的jforum目录具有以下阶层:jforum\images\templates\upgrade\WEB-INF...index.htm...(可以将上面的jforum文件夹下的文件(不包含jforum目录本身)打包为一个jforum.zip,然后重新命名为jforum.war也可)(JBoss服务器的情况,可以将jforum.war拷贝到JBOSS_HOME/server/default/deploy目录下)6,启动TOMCAT服务器执行$TOMCAT_HOME/bin/startup.bat7,打开浏览器,访问:进入jforum的数据库初始化页面,进行初始化。默认显示语言选择ChineseSimplifed(zh_CN),数据库选择utf-8编码。完成设置。至此,JForum论坛安装完成。安装时最好把activation.jar、和javamail.jar这两个包拷到jforum/WEB-INF/LIB下,因为我安装时出现tomcat无法发布jforum,把那两个包考进去就好了在JForum的web中images目录在系统中必须有写入权限,否则,上传图片是将会报错。jforum架构和主要配置文件说明第一步,安装。第二步:分析JFORUM框架中配置文件1、zh_CN.properties文件中配置页面中显示的中文常用汉字。cmd下可以通过native2ascii-reversezh_CN.propertiesa.properties命令对其反编码,开发者可以配置自己需要的页面中需要显示常量信息,编辑保存后再通过native2asciia.propertieszh_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类文件中配置对应的常量字符串。可以通过Stringq=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实体的一个抽象类,通过XXXDAOum=DataAccessDriver.getInstance().newXXXDAO()方式去实例化dao对象。6、GenericDataAccessDriver.java类文件为DataAccessDriver抽象类文件的具体实现类,创建DAO对象的类与数据库进行交互。7、JForumExecutionContext.getConnection().prepareStatement(Stringsql)通过此种方式在DAO中去创建PreparedStatement对象。然后由该对象执行数据库操作获得结果。第五步:测试DEMO1、通过修改配置文件modulesMapping.properties类添加一个模块。可以添加一个自己的测试DEMO模块,在该配置文件末尾添加如下代码myTest=net.jforum.test.MyTestAction。作为该模块的处理类。2、在templatesMapping.properties文件中添加:myTest.addTest=myTest_add.htmmyTest.listTest=myTest_list.htm此文件映射action和result模板的关系,表明执行后跳转的页面对应关系。3、在urlPattern.properties中添加:myTest.add.0=myTest.list.0=此文件设置每个action参数.我们这action无参数。4、修改net.jforum.util.preferences.TemplateKeys类,添加:publicstaticfinalStringMYTEST_ADD=myTest.add;publicstaticfinalStringMYTEST_LIST=myTest.list;引号里面的对应的字符串常量要与templatesMapping.properties文件中定义对应页面的属性保持一致性。通过定义该信息,可以在action中去set其对应的跳转页面信息。5、参照第二步第1条提示修改a.properties文件后,编辑保存后再通过native2asciia.propertieszh_CN.properties在编码回ascii文件格式。6、编辑header.htm页面添加如下代码,添加“我的测试”超级连接imgsrc=${contextPath}/templates/${templateName}/images/icon_mini_members.gifalt=[Members]/ aid=latest2class=mainmenuhref=${JForumContext.encodeURL(/myTest/addList)}${I18n.getMessage(myTest)}/a 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_q