Filter过滤器

来源:互联网 发布:骷髅面具淘宝 编辑:程序博客网 时间:2024/05/16 09:38
1、WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能


2、Filter功能:

在HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest 。 根据需要检查 HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。 根据需要检查 HttpServletResponse ,也可以修改HttpServletResponse头和数据。


3、Filter开发

编写java类实现Filter接口,并实现其doFilter方法。
<filter-name>用于为过滤器指定一个名字</filter-name>
<filter-class>元素用于指定过滤器的完整的限定类名
<filter-mapping>元素用于设置一个 Filter 所负责拦截的资源
<filter-name>声明过的过滤器的名字
<url-pattern>设置 filter 所拦截的请求路径
<servlet-name>指定过滤器所拦截的Servlet名称

<dispatcher>指定过滤器所拦截的资源被 Servlet 容器调用的方式


4、Filter_dispatcher

<dispatcher> 子元素可以设置的值及其意义: 


REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。 


INCLUDE:如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。 


FORWARD:如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。 


ERROR:如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。

0 0
原创粉丝点击