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

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)的更多相关文章

  1. Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例

    Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...

  2. 网站过滤器Filter

    实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...

  3. paip.输出内容替换在Apache 过滤器filter的设置

    paip.输出内容替换在Apache 过滤器filter的设置 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...

  4. java Servlet中的过滤器Filter

    web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...

  5. [ionic开源项目教程] - 第6讲 过滤器filter的使用

    过滤器filter的使用 1.回顾 再熟悉一下tab1.html的代码: <div class="list"> <a ng-repeat="item i ...

  6. selvert的过滤器filter处理中文乱码

    注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk.虽然两种都可以出来中文乱码,但是却造成了处 ...

  7. MVC之 自定义过滤器(Filter)

    MVC之 自定义过滤器(Filter) 一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttri ...

  8. Servlet中的过滤器Filter用法

    1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...

  9. Servlet中的过滤器Filter详解

    加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...

  10. AngularJS的过滤器$filter

    过滤器(filter)主要用于数据的格式上,通过某个规则,把值处理后返回结果.例如获得数据集,可排序后再返回. ng内置的共有九种过滤器: currency 货币 使用currency可以将数字格式化 ...

随机推荐

  1. PHP同时连接多个数据库

    PHP同时连接多个mysql数据库的具体实现 方法一: <?php $conn1 = mysql_connect("127.0.0.1", "root", ...

  2. php异步执行函数

    1.在unix系统中,使用popen和pclose可以创建管道(通信途径)来连接到其他程序.   2.能够执行服务器命令的php函数有: exec(commond,$output) 接收一个命令,把得 ...

  3. Select2下拉选项库 部分积累

    用了这么久的Select2插件,也该写篇文章总结总结. 在我的印象里Select2有2个版本,最新版本有一些新的特性,并且更新了一下方法参数,比最初版本要好看一些,本文针对新版本. 官网:http:/ ...

  4. C++中的一类临时对象

    类名(参数名)这样的对象是临时对象,不能取地址,不能被引用,不过可以给同类型的其他对象赋值,该临时对象定以后可以进行一次操作,然后立即销毁. 当我们定义一个对象以后并不想立即给它赋初值,而是以后给它赋 ...

  5. 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-007按位置,找出数组相关最大值

    Given an array a[] of N real numbers, design a linear-time algorithm to find the maximum value of a[ ...

  6. WOJ 39 塌陷的牧场

    感觉……做克老师的题,都很神仙…… 还有去年一个人坐在家里写挂60分算法的惨痛记忆,凭借着一点点记忆重新写这道题. 感觉这并查集真的很神仙,仍然不会算最后的α的复杂度……自己想感觉无论如何都要挂个lo ...

  7. (转)Linux操作系统下VMware的多网卡桥接转换

    VMware,鼎鼎大名的虚拟机软件,没有人不知道吧?当然,在Linux下使用虚拟机软件,并不一定需要使用VMWare,Xen也是非常不错的选择,有很多评测就认为XEN的表现优于VMware.可惜的是X ...

  8. WordCount优化-第四周小组作业

    一.基本功能 GITHUB项目地址:https://github.com/LongtermPartner/ExtendWordCount PSP表格填写: PSP2.1 PSP阶段 预估耗时 (分钟) ...

  9. 多线程学习-基础( 十一)synchronized关键字修饰方法的简单案例

    一.本案例设计到的知识点 (1)Object的notify(),notifyAll(),wait()等方法 (2)Thread的sleep(),interrupt(). (3)如何终止线程. (4)如 ...

  10. Sqlserver根据某字段分隔符将一条记录拆分为多行记录

    参考地址:http://blog.sina.com.cn/s/blog_b3eabfd30102wldv.html 参考语句: if object_id('[aaa]') is not null dr ...