<Filter>在一些特殊场景中的过滤过程

1 转发

154542_ja0k_1772665.jpg

<jsp:forword page="1.jsp"/>

此时默认 过滤器只过滤一次,过滤request的那一次。

也就是访问1.jsp的那一次。而Forward并没有经过过滤器。

如果需要两次都过滤,可以在xml中配置

  <filter-mapping>
  	<filter-name>Filter</filter-name>
  	<url-pattern>/*</url-pattern>
  	<dispatcher>REQUEST</dispatcher> <!-- 过滤Request 也是默认的。 -->
  	<dispatcher>FORWARD</dispatcher>
  </filter-mapping>

2.动态包含

155555_GSpK_1772665.jpg

  <jsp:include page="1.jsp"></jsp:include>

动态包含,默认也是只过滤REQUEST的一次,而不过滤INCLUDE 如果需要过滤INCLUDE需要配置

  <filter-mapping>
  	<filter-name>Filter</filter-name>
  	<url-pattern>/*</url-pattern>
  	<dispatcher>REQUEST</dispatcher>
  	<dispatcher>INCLUDE</dispatcher>
  	<dispatcher>ERROR</dispatcher>
  </filter-mapping>

3 在web.xml中全局配置的errorPage的过滤

160735_19IF_1772665.jpg

  普通的使用

<%@page errorPage="1.jsp"%>

其转发过程使用的是forword转发的,配置forword即可。

如果在web.xml中配置的errorPage的话,需要在过滤器中配置如下

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

这样,在web.xml中配置的全局错误信息也能经过过滤器拦截。







转载于:https://my.oschina.net/anyyang/blog/366221

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值