`
yiding_he
  • 浏览: 436199 次
  • 性别: 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 的源代码。

 

分享到:
评论

相关推荐

    java开源包1

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

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java开源包10

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

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    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