码迷,mamicode.com
首页 > 其他好文 > 详细

6.过滤器(Filter)

时间:2018-09-18 22:54:03      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:xml文件   数据   pat   资源   event   width   padding   servlet   正序   

---恢复内容开始---

1.过滤器简介:

过滤器是一个用于拦截在数据源和数据目的地之间消息的一个对象。

过滤器 功能:

分析请求,将请求发送给指定的资源或自己创建一个响应返回;在请求到达服务器端前处理请求,设置请求信息,将请求封装成符合规则的对象在响应到达客户端前处理响应,将响应封装成符合规则的对象

不同功能的过滤器:

身份验证过滤器(Authentication Filters)
数据压缩过滤器(Data compression Filters)
加密过滤器(Encryption Filters)
触发资源访问事件过滤器(Filters that trigger resource access events )
图像转换过滤器(Image Conversion Filters)
日志记录和审核过滤器(Logging and Auditing Filters)
MIME-TYPE 链过滤器(MIME-TYPE Chain Filters)
标记化过滤器(Tokenizing Filters)
XSL/T 过滤器(XSL/T Filters),转换 XML 内容。

过滤器的执行:

 

过滤器处理请求采取以下3种行动之一
过滤器自身产生一个响应,返回给客户端
把请求转发给过滤器链中的下一个过滤器,如果是最后一个过滤器则将请求转发给请求指定资源
把请求转发到另一资源。

过滤器实例:

AuthorityFilter
编码(实现Filter接口)
部署(在web.xml配置)
注册过滤器
配置虚拟路径
运行

2.过滤器AI

   Filter接口:

init()方法
Servlet容器最先调用过滤器的init()方法,初始化过滤器,生命周期中只调用一次
doFilter()方法
Servlet容器调用doFilter()方法处理请求
destroy()方法
Servlet容器最后调用destroy()方法,释放过滤器所占的资源。

接口/类

所处包

描述

Filter

javax.servlet

过滤器类实现此接口

FilterChain

javax.servlet

该接口实现对象实例由容器负责创建

FilterConfig

javax.servlet

提供初始化参数

ServletRequestWrapper

javax.servlet

ServletRequest接口的便利实现

ServletResponseWrapper

javax.servlet

ServletResponse接口的便利实现

HttpServletRequestWrapper

javax.servlet.http

HttpServletRequest接口的便利实现

HttpServletResponseWrapper

javax.servlet.http

HttpServletResponse接口的便利实现

3.配置过滤器:

 <filter>
     <filter-name>

     <filter-class>

     <description>

      <init-parm>

             <parm-name>

              <parm-value>

     <filter-mapping>

      <filter-name>

     <url-pattern>

   Filter过滤器链:

Web容器加载的顺序:web.xml文件中配置的Filter的倒序
拦截执行顺序:web.xml文件中配置的Filter的正序
销毁顺序:web.xml文件中配置的Filter的倒序

Filter注意事项:

Filter配置过滤器链
Servlet容器可以对同一个过滤器对象运行多个线程来同时处理多个请求。

技术分享图片

 

6.过滤器(Filter)

标签:xml文件   数据   pat   资源   event   width   padding   servlet   正序   

原文地址:https://www.cnblogs.com/Firesun/p/9671309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!