学习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]" />
<a id="latest2" class="mainmenu" href="${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_queries.sql文件中增加有关测试实体数据库交互的数据库脚本。
f)、完善MyTestAction.java 类文件中的list方法。内部实现与之对应的查询方法,并将结果对象返回到页面。
分享到:
相关推荐
总结,Jforum是一个功能丰富的Java论坛系统,其源码解析有助于深入理解其内部机制。从数据库设计到缓存优化,再到权限控制和单点登录,每个环节都是构建高效、安全社区的关键。通过学习和研究,开发者不仅可以掌握...
总结来说,JForum3是一个成熟的Java论坛解决方案,它的完整源代码对于Java Web开发者来说是一个宝贵的资源,无论是用于学习、研究还是定制自己的论坛系统,都能从中受益匪浅。通过深入了解JForum3的架构和实现,...
总结,JForum 2.1.9源码提供了一个全面的论坛解决方案,它具有良好的扩展性和定制性。通过深入理解源码,开发者不仅可以根据需求定制自己的论坛系统,还能从中学习到Java Web开发的最佳实践和设计模式。无论你是Java...
总结来说,Jforum-2.1.9是一个强大且灵活的论坛解决方案,结合MyEclipse的强大开发工具,能够为开发者提供一个高效的开发环境。无论你是想搭建一个社区网站,还是希望深入学习Java Web开发,Jforum都是一个值得研究...
总结来说,JForum项目是一个全面的Java Web学习资源,涵盖了MVC架构、数据库管理、ORM、权限控制、模板引擎、并发处理和邮件服务等多个领域。通过研究其源码,我们可以深入理解这些技术的实战应用,进一步提升我们的...
总结,JForum作为一款成熟的开源论坛系统,凭借其强大的功能、易用性以及开源的优势,成为许多开发者和网站管理员的选择。无论你是要搭建一个全新的论坛,还是要为现有系统添加讨论功能,JForum都是值得考虑的解决...
总结:JForum二次开发是一项综合性的任务,涉及到Java编程、Web应用部署、数据库管理和前端页面设计等多个领域。理解其核心架构并掌握基本的开发流程,将有助于你成功打造一个满足特定需求的论坛系统。同时,BBS开源...
总结来说,JForum 的源代码和物理结构为开发者提供了一扇窗,可以深入了解这个开源论坛系统的设计理念和实现方式。无论是为了学习 Java Web 开发,还是为了定制论坛功能,这份资源都将极大地促进你的进步。因此,花...
对于希望深入了解Java Web应用开发及MVC架构原理的学习者来说,JForum无疑是一个极佳的学习案例。 #### 二、JForum概述 - **MVC设计模式**:JForum遵循MVC设计模式,这种模式有助于分离应用程序的业务逻辑与用户...
通过学习和使用这个项目,开发者可以深入理解JSP和Struts的结合应用,提升在Java Web开发领域的技能。同时,这也是一个很好的实践平台,可以帮助开发者了解如何构建大型的、用户交互性强的Web应用程序。
总结来说,JForum的序列图和ER图为开发者提供了宝贵的视角,帮助他们理解系统的动态行为和数据结构。通过分析这些图表,我们可以更好地设计、实现和优化论坛系统,确保其高效、稳定和易于维护。同时,这些资源也适合...
总结,JForum是一个全面的Java论坛解决方案,利用先进的技术和设计模式构建,具有强大的功能和良好的扩展性。无论是初学者学习Java Web开发,还是企业构建在线社区,JForum都是值得参考和使用的开源项目。通过深入...
总结,JForm是Java GUI开发中的利器,通过其强大的可视化设计能力,可以便捷地创建用户界面。JForum作为一款成熟的Java论坛软件,展示了Java在Web开发领域的应用。结合两者,开发者不仅能学习到GUI设计,还能深入...
总结来说,"Java基于主题搜索的知识管理系统设计与实现"是一个涵盖多方面技术的项目,包括Java编程、数据库设计、全文搜索、用户界面开发、权限管理以及可能涉及的机器学习应用。通过这样的系统,组织可以提升知识的...
- **第三方工具**:为了满足更具体的需求,还可以选择第三方工具,比如课程内容编辑工具(Melete Lesson Builder)、讨论区和个人消息系统(Jforum)以及站点统计(Site Stats)等。 ##### 汉化(中国化) - **...
4. **开发模式开放**:Sakai基金会负责项目的方向决策,社区和学校可根据自身需求定制开发新的工具,如Melete和Jforum,体现了用户参与和创新精神。 #### Sakai的架构设计 Sakai采用的是三层架构设计,即表示层、...