Arry's cnBlog

Barcelona win

博客园 首页 新随笔 联系 订阅 管理

过滤器有四种拦截方式!分别是:REQUEST、FORWARD、INCLUDE、ERROR。


REQUEST:

直接访问目标资源时执行过滤器。包括:在地址栏中直接访问、表单提交、超链接、重定向,只要在地址栏中可以看到目标资源的路径,就是REQUEST;


FORWARD:

转发访问执行过滤器。包括RequestDispatcher#forward()方法,<jsp:forward>标签都是转发访问;


INCLUDE:

包含访问执行过滤器。包括RequestDispatcher#include()方法,<jsp:include>标签都是包含访问;


ERROR:

当目标资源在web.xml中配置为<error-page>中时,并且真的出现了异常,转发到目标资源时,会执行过滤器。


拦截方式的配置问题:可以在<filter-mapping>中添加0~n个<dispatcher>子元素,来说明当前访问的拦截方式。

如:

<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/test.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>......</dispatcher>
</filter-mapping>
默认拦截方式为REQUEST。


一般REQUEST和FORWARD用的多一点,INCLUDE和ERROR用的少。

posted on 2016-12-13 16:14  Arry  阅读(952)  评论(0编辑  收藏  举报