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

来源:互联网 发布:php 异步请求 编辑:程序博客网 时间:2024/05/23 12:13
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

0 0
原创粉丝点击