web.xml
该文件非常简洁。
一个过滤器
<filter>
<filter-name>clickstream-jforum</filter-name>
<filter-class>net.jforum.util.legacy.clickstream.ClickstreamFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>clickstream-jforum</filter-name>
<url-pattern>*.page</url-pattern>
</filter-mapping>
因为在JForum应用中,所有的URL都匹配*.page,所以该过滤器对任何HTTP请求都有效。该过滤器作用:设置属性request.setAttribute(FILTER_APPLIED, Boolean.TRUE)标识该请求已被过滤,request.setAttribute(ConfigKeys.IS_BOT, Boolean.valueOf(bot != null))标识该请求是否来自机器人(即网络爬虫)。
一个实现了接口HttpSessionListener的会话监听器
<listener>
<listener-class>net.jforum.ForumSessionListener</listener-class>
</listener>
当Tomcat销毁一个会话时,JForum需要Tomcat做如下事情(即钩子方法):将用户会话信息保存到数据库中。
一个servlet
<servlet>
<servlet-name>jforum</servlet-name>
<servlet-class>net.jforum.JForum</servlet-class>
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
...
<servlet-mapping>
<servlet-name>jforum</servlet-name>
<url-pattern>*.page</url-pattern>
</servlet-mapping>
该servlet匹配所有URL。net.jforum.JForum主要作用:
- 初始化log4j.xml
- 加载SystemGlobals.properties
- 初始化缓存引擎
- 配置Freemarker模板引擎
- 加载urlPattern.properties
- 加载I18N配置文件
- 加载关于SQL的配置文件
- 加载关于定时任务的配置文件(关于quartz的)
- 等等
分享到:
相关推荐
在这个《jforum-2.1.4-src.zip》压缩包中,包含了JForum 2.1.4版本的完整源代码,为开发者提供了深入理解其内部机制的宝贵机会。本文将围绕JForum的核心特性、数据库支持以及源码分析进行深入探讨。 首先,JForum...
**JForum 源代码与物理结构详解** JForum 是一个功能丰富的开源论坛系统,以其高效、可扩展和用户友好的界面而闻名。这个压缩包包含 JForum 的源代码和类包,对于开发者来说,这是一个宝贵的资源,可以深入理解其...
总的来说,JForum 2.1.8的源代码是一个深入学习Java Web开发、论坛系统设计和MVC模式的实践案例。通过分析和理解这些代码,开发者不仅可以提升自身的编程技能,还能掌握如何设计和实现一个高可用、高性能的在线社区...
1. **插件系统**:JForum支持插件机制,开发者可以在`plugins`目录下创建新的插件,通过XML配置文件定义插件行为。 2. **模板修改**:Velocity模板允许开发者轻松定制界面。在`templates`目录下,可以找到所有页面...
开发者可以通过跟踪源代码或日志来理解这一过程,以便在出现问题时快速定位原因。 处理请求的流程主要遵循Model-View-Controller(MVC)设计模式。在Jforum中,用户请求被控制器(Controller)接收,然后根据请求...
例如,WEB-INF目录下存放着web.xml配置文件和库文件,src目录包含了源代码,lib目录则存放着项目依赖的JAR包。理解这些目录结构对于理解和维护项目至关重要。 此外,Jforum还提供了一套完善的API和文档,帮助开发者...
《Jforum3:深入解析JAVA论坛开源代码》 Jforum3是一款基于JAVA语言开发的开源论坛软件,其源码开放,允许用户进行二次开发和定制,以满足不同需求。这款论坛系统以其稳定性和高效性在Java社区中广受欢迎。本文将...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...