java_过滤器详解

java_过滤器详解

ID:14404856

大小:30.71 KB

页数:9页

时间:2018-07-28

java_过滤器详解_第1页
java_过滤器详解_第2页
java_过滤器详解_第3页
java_过滤器详解_第4页
java_过滤器详解_第5页
资源描述:

《java_过滤器详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Filter过滤器 1、简介  Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet,静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。  它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servl

2、et进行处理并生成响应,最后Filter再对服务器响应进行后处理。  Filter功能:·在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。·在HttpServletResponse到达客户端之前,拦截HttpServletResponse。 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据

3、。2、如何实现拦截  Filter接口中有一个doFilter方法,当开发人员编写好Filter,并配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的:1.调用目标资源之前,让一段代码执行。2.是否调用目标资源(即是否让用户访问web资源)。  web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对象

4、,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方法,即web资源就会被访问,否则web资源不会被访问。 3、Filter开发两步走1.编写java类实现Filter接口,并实现其doFilter方法。 2.在web.xml文件中使用元素对编写的filter类进行注册,并设置它所能拦截的资源。  web.xml配置各节点介绍:用于为过滤器指定一个名字,

5、该元素的内容不能为空。元素用于指定过滤器的完整的限定类名。元素用于为过滤器指定初始化参数,它的子元素指定参数的名字,指定参数的值。在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。元素用于设置一个Filter所负责拦截的资源。一个Filter拦截的资源可通过两种方式来指定:Servlet名称和资源访问的请求路径子元素用于设置filter的

6、注册名称。该值必须是在元素中声明过的过滤器的名字设置filter所拦截的请求路径(过滤器关联的URL样式)指定过滤器所拦截的Servlet名称。指定过滤器所拦截的资源被Servlet容器调用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST。用户可以设置多个子元素用来指定Filter对资源的多种调用方式进行拦截。子元素可以设置的值

7、及其意义:REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。INCLUDE:如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。FORWARD:如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。ERROR:

8、如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。4、Filter链  在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Filter链。  web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter,当第一个Filter的doFilter方法被调用时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。