JForum最基本的Servlet为JForumBaseServlet和JForum,JForum论坛的初始化就是以这两个累的初始化开始:
执行JForumBaseServlet init,
1: 载入SystemGlobal.properties文件
ConfigLoader类主要是用来加载各种配置,也包括了SystemGlobal.properties, 缓存配置等等。
ConfigKeys定义了所有用到的配置常量。
SystemGlobal.java是专门用来加载SystemGlobal.properties和jforum-custom.conf文件。
在SystemGlobal.properties中存在嵌套的变量定义,比如 config.dir = ${resource.dir}/config,
那么通过SystemGlobal.getValue(String)来获取confgi.dir的时候,首先获取 ${resource.dir}/config,然后使用VariableExpander来将resource.dir替换掉。
VariableExpander定义了某个变量前缀和后缀,比如这里是${ 和 },就可以获取resource.dir,然后在通过SystemGlobal.getVariableValue(Str)来获取
resource.dir的值。
如果已经安装了论坛,还将加载jforum-cunstom.conf.文件。其实就是简单的资源文件,不存在嵌套的变量引用。
2:初始化缓存引擎
SystemGlobal.properties中有这么一段关于缓存引擎的资源配置:
cache.engine.default = net.jforum.cache.DefaultCacheEngine
cache.engine.jboss = net.jforum.cache.JBossCacheEngine
jboss.cache.properties = ${config.dir}/jboss-cache-cluster.xml
cache.engine.implementation = ${cache.engine.default}
cacheable.objects = net.jforum.repository.BBCodeRepository, \
net.jforum.repository.RankingRepository, \
net.jforum.repository.SmiliesRepository, \
net.jforum.repository.ForumRepository, \
net.jforum.repository.TopicRepository, \
net.jforum.SessionFacade, \
net.jforum.repository.PostRepository, \
net.jforum.repository.Tpl, \
net.jforum.repository.RolesRepository, \
net.jforum.repository.SecurityRepository, \
net.jforum.repository.BanlistRepository
这里涉及到两个接口,一个事CacheEngine,一个是Cacheable
CacheEngine定义了用来存放缓存数据的机制,Cacheable表示可存放缓存的对象。
目前CacheEngine有三个实现类,DefaultCacheEngine,EhCacheEngine,JBossCacheEngine。
Jforum默认的是使用defualtCacheEngine,我们也可以通过配置cache.engine.implementation来使用自定义的缓存引擎。
备注:DefaultCahceEngine中add(String key,Object value)的实现方式很奇怪。CacheEngine中的注释是说该方法使用Dummy对应的cache来存储value,而DefaultCacheEngine中直接是使用存放Cache的HashMap来实现,这样这个value的值就和Cache同一等级了,但是依照接口的说明,Value应该是存放在Cache中的,此为疑点。
Repository为Cacheable的子类,分别对应笑脸、文章等缓存的仓库。
3:设置页面模版引擎,JForum使用的FreeMarker来实现论坛展现模版定制的功能,使普通的美术设计人员也能够通过修改默认模版来定制论坛的展现方式。
4:调用loadConfigStuff(),载入页面URL与参数的配置;国际化配置文件;URL与模版具体文件的具体文件路径与名字的对应配置,详 见\WEB-INF\config\templatesMapping.properties文件;载入BB Code配置。
JForumBaseServlet.startApplication().
1:载入通用的SQL查询语句
2:载入任务配置文件信息(quartz)
3:初始化验证器
4:加载DAO的实现
5:记载配置文件修改监听
6:初始化索引(lunece)
7:开始summary job
初始化论坛的基本数据,比如笑脸等数据。
分享到:
相关推荐
在提供的压缩包`JForum-2.1.6-src`中,我们可以看到源代码的完整结构,包括但不限于以下关键部分: - **src**: 包含了所有源代码,按照MVC结构组织,如`model`、`view`和`controller`目录。 - **webapp**: 存放Web...
对于想要深入了解FreeMarker模板引擎的开发者来说,JForum的源码是一个绝佳的学习资源。本篇文章将深入探讨JForum源码中的核心知识点,以及它如何与FreeMarker结合提供动态网页生成。 1. **FreeMarker模板引擎** ...
《JForum 2.1.8 源码解析与探讨》 JForum,一个知名的开源论坛系统,以其高效、可扩展性和丰富的功能在互联网上广受...总的来说,JForum 2.1.8的源码不仅是一份开源软件的实例,也是广大开发者学习和提高的宝贵资源。
学习JForum的源码,你不仅可以掌握Java Web开发的基本技巧,还能了解到如何设计一个大型的、可扩展的论坛系统。这对你提升自己的编程能力,尤其是Java和Web开发技能,将大有裨益。同时,如果你计划开发自己的论坛...
2. **源码编译**:解压`rafaelsteil-jforum2-190d28b`,使用Maven或Gradle构建项目,生成可部署的WAR文件。 3. **数据库配置**:修改`conf/Database.properties`,设置数据库连接参数,包括URL、用户名、密码等。 ...
通过研究jforum2源码,可以学习如何实现这些功能,并了解论坛系统的常见架构设计。 4. **性能测试**:JMeter的使用是测试jforum2性能的关键。开发者需要了解如何创建测试计划,定义线程组(模拟用户),设置采样器...
在这个"jforum-2.1.8-编译代码.zip"压缩包中,包含了JForum 2.1.8版本的源代码,对于开发者来说,这是一个深入理解JForum工作原理、进行二次开发或定制化改造的宝贵资源。 首先,让我们了解JForum的基本架构。...
源码开放意味着你可以深入研究其内部结构,学习优秀的编程实践,或者根据自己的需求进行二次开发。在部署方面,JForum 可以运行在任何支持Java的Web服务器上,如Tomcat、Jetty等,与数据库如MySQL、PostgreSQL等配合...
在提供的压缩包中,`Jforum-ppt`可能包含关于Jforum的详细讲解或演示材料,如开发教程、架构解析、功能介绍等。通过阅读这些PPT,你可以更直观地了解Jforum的工作原理和应用场景,对学习和使用Jforum大有裨益。 ...
Personally think is the best forum for the Java source code, open source, you can watch the official website of the latest developments http://www.jforum.net/
2. **配置JForum**:完成SSO类的编写后,需要在JForum的配置文件中进行配置,使其使用这个自定义的SSO类。具体的配置步骤可能涉及修改`forum.properties`或其他相关配置文件,确保JForum在启动时加载并使用自定义的...
JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...
文件列表中的“JForum-2.1.4”目录包含了项目的全部源码和配置文件,其中“WEB-INF”目录下存放了Web应用的相关资源,如web.xml配置文件,定义了应用的初始化参数和Servlet映射。"src"目录则是Java源码的存放地,...
- 如果需要特定的CKEditor插件,如图片上传、视频插入等,需要将这些插件的JavaScript文件引入,并在初始化CKEditor时配置启用它们。 5. **处理表单提交** - JForum在处理帖子或回复的提交时,可能需要对富文本...
总之,开源论坛jforum-2.1.9源码提供了丰富的学习资源,无论是对JSP、Servlet、JavaBean技术的实践,还是对MySQL数据库管理的理解,或是对Web应用开发流程的掌握,都具有很高的学习价值。对于希望深入理解Java Web...
这个压缩包“jforum-2.5.0安装包+安装方式.rar”包含了JForum 2.5.0版本的安装文件和相关的安装指南,主要文件为“jforum-2.5.0.war”,这是一个Web应用的归档文件,可以直接部署在支持Servlet和JSP的Web服务器上。...
JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...
- **初始化流程**:`JForumBaseServlet` 类中定义了 `init` 方法,该方法在Servlet初始化时被调用。在 `init` 方法中完成了以下关键步骤: - 调用父类的 `init` 方法; - 配置日志框架 log4j; - 加载全局配置...
《Jforum-2.1.9:构建高效社区论坛的深度解析》 Jforum是一款功能强大的、基于Java的开源论坛软件,其版本2.1.9是它的一个重要里程碑。这款论坛系统以其高度的可定制性、良好的性能以及对多语言支持而受到全球...