Servlet Filter web.xml配置有哪些注意事项呢?
常见的Filter在web.xml的配置如下所示:
那么我们日常需注意哪些呢?下文将一一道来,如下所示:
那么我们日常需注意哪些呢?下文将一一道来,如下所示:
<filter>
<filter-name>Filter1Test</filter-name>
<filter-class>com.java265.filter.Filter1Test</filter-class>
<init-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Filter1Test</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher> <!-- 当未配置dispatcher时,默认为request方式 -->
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
filter注意事项:
1.filter-mapping标签中servlet-name同url-pattern相关说明
Filter通过url-pattern来过滤url资源
Filter也可以通过servlet-name过滤指定的Servlet服务
2. filter-mapping标签中dispatcher相关说明
过滤器拦截Servlet以下的调用方式,如:REQUEST,INCLUDE,FORWARD和ERROR
当我们未设置dispatcher时,则拦截REQUEST方式
---------------------------------------------------------------
REQUEST:
当用户访问页面时,则调用过滤器
INCLUDE:
当目标资源是通过RequestDispatcher的include()方法访问时,
过滤器会运行,反之过滤器不会被调用
FORWARD:
当目标资源是通过RequestDispatcher的forward()方法访问时,
过滤器会运行,反之过滤器不会被调用
ERROR:
one.jsp页面page指令中指定了error属性=error.jsp
当one.jsp中出现异常,则会跳转到error.jsp,
此时如果one.jsp对应的过滤器 dispather 设置为ERROR,则会拦截此请求,并运行过滤器,反之则不运行过滤器
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


