`
yiding_he
  • 浏览: 449163 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

阅读 JForum - URL 格式与参数解析

阅读更多

本文适用于 Jforum 2.1.8,其他版本就不知道了。

JForum 的 URL 格式是 REST 风格的,也就是将参数放在 URL 路径当中而不是 URL 的末尾。就像下面这样:
http://localhost:8080/bbs/forums/list.page

问题是这样的 URL 只有参数值没有参数名。怎么知道某个参数值的意义呢?JForum 有一个 urlPattern.properties 来匹配这个关系。例如:

forums.show.1 = forum_id
forums.show.2 = start, forum_id


对应于“/forums/show/3.page”这样的 URL。“ /forums/show”可能接受 1 或 2 个参数。有 1 个参数的时候,参数名为“ forum_id”;有两个参数的时候(即“/forums/show/100/3.page”),第一个参数名为“start”,第二个参数名为“forum_id”。

这个配置文件是在 net.jforum.ConfigLoader#loadUrlPatterns 方法中被读取并载入到 net.jforum.UrlPatternCollection 类里的。

当用户发起请求时,请求被 net.jforum.JForum 接收。JForum 创建了一个 net.jforum.context.web.WebRequestContext 对象,该对象读取 urlPattern 配置,解析出 URL 的参数名和参数值。这样,当请求继续被 net.jforum.Command 的子类进行处理时,子类们就可以放心的使用 this.request.getParameter(String) 来获得参数值了。


当然,这里只是一个大概的介绍。要想清楚的了解其中的运作,还请仔细阅读 JForum 的源代码。

 

分享到:
评论

相关推荐

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

    通过阅读这些PPT,你可以更直观地了解Jforum的工作原理和应用场景,对学习和使用Jforum大有裨益。 总结,Jforum是一个功能丰富的Java论坛系统,其源码解析有助于深入理解其内部机制。从数据库设计到缓存优化,再到...

    jforum 2.1.9源码

    《JForum 2.1.9源码深度解析与应用指南》 JForum,作为一款开源的、基于Java的网络论坛系统,深受开发者喜爱。2.1.9版本的发布,不仅提供了稳定的功能,还为开发者们带来了丰富的自定义可能性。本文将深入探讨...

    经典自动化测试大作业1

    - 目录结构包括:`testSelection.jar`放在Demo目录下,针对第一组数据生成10个PDF格式的代码依赖图,分别表示类级和方法级的依赖,命名格式为项目名称+粒度。 完成这个大作业,学生需要深入了解Java编程,Maven项目...

    java开源包1

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包10

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包11

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包2

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包3

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包6

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包5

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包4

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包8

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包7

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包9

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    java开源包101

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

    Java资源包01

    注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 ...

Global site tag (gtag.js) - Google Analytics