您的位置:首页 > 其它

webx下的AnalyzeURLValve分析URL过程详细解析

2014-08-03 11:14 232 查看
AnalyzeURLValve用来分析URL的成分。

<valve class="com.alibaba.turbine.pipeline.AnalyzeURLValve"/>

有不少初学者误以为URL和物理文件之间是一一对应的。例如:http://localhost:8080/workshop/hello.htm代表workshop目录下有一个hello.htm文件。这是不一定的。事实上,你应该把URL看作一个参数。一个URL实际对应的操作是什么,可以由应用程序自己来决定。

以http://localhost:8080/workshop/hello.htm为例,URL的分析分为下面几步:

1. /workshop被称为Context Path。应用服务器看到/workshop,就把这个请求交给workshop应用来接管。

2. /hello.htm被称为Servlet Path。因为我们在web.xml中把*.htm映射到Webx Controller Servlet,所以Webx Controller Servlet就接管了这个请求。

3. Webx Controller Servlet激活pipeline,继而调用AnalyzeURLValve来分析/hello.htm是什么意思。根据webx默认的映射规则,/hello.htm被转换成/hello.vm。

经过上述转换,最后得到的结果被称为target。在这个例子中,target的值为/hello.vm。

有人想当然认为/hello.vm是代表Velocity模板,事实上,这也是不一定的。到目前为止,只能称它为“target”。在后续的valve中,我们会将/hello.vm解释为Velocity模板。

转载:iteye
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: