web.xml里<filter-mapping>中的<dispatcher>感化

在看urlrewrite设备的时辰发明web.xml中有dispather这个设备的选项,收藏一下这个属性的用法:转自http://hintcnuie.iteye.com/blog/226251

2.4版本的servlet规范在属下描述符中新增长了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个<filter-mapping>元素中参加随便率性数量标<dispatcher>,使得filter将会感化于直接从客户端过来的request,经由过程forward过来的request,经由过程include过来的request和经由过程<error-page>过来的request。若是没有指定任何< dispatcher >元素,默认值是REQUEST。可以经由过程下面几个例子来帮助懂得。
例1:
Xml代码 收藏代码



<filter-mapping>
<filter-name>Logging Filter</filter-name>
<url-pattern>/products/*</url-pattern>
</filter-mapping>


这种景象下,过滤器将会感化于直接从客户端发过来的以/products/…开端的恳求。因为这里没有制订任何的< dispatcher >元素,默认值是REQUEST。

例2:
Xml代码 收藏代码


<filter-mapping>
<filter-name>Logging Filter</filter-name>
<servlet-name>ProductServlet</servlet-name>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>

这种景象下,若是恳求是经由过程request dispatcher的include办法传递过来的对ProductServlet的恳求,则要经过这个过滤器的过滤。其它的诸如从客户端直接过来的对ProductServlet的恳求等都不须要经过这个过滤器。
指定filter的匹配体式格式有两种办法:直接指定url-pattern和指定servlet,后者相当于把指定的servlet对应的url-pattern作为filter的匹配模式
filter的路径匹配和servlet是一样的,都遵守servlet规范中《SRV.11.2 Specification of Mappings》一节的申明

例3:
Xml代码 收藏代码


<filter-mapping>
<filter-name>Logging Filter</filter-name>
<url-pattern>/products/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>


在这种景象下,若是恳求是以/products/…开首的,并且是经由过程request dispatcher的forward办法传递过来或者直接从客户端传递过来的,则必须经过这个过滤器。(责任编辑:admin)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值