`
yp307567950
  • 浏览: 104215 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Filter

阅读更多

------------------------------------------------------------------------------------------------------------------------------------

什么是过滤器?

与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序档案中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。

--------------------------------------------------------------------------------------------------------------------------------------

过滤器适用于那些地方?

1.为一个web应用程序的新功能建立模型(可被添加到web应用程序中或者从web应用程序中删除而不需要重写基层应用程序代码);

2.向过去的代码添加新功能。

--------------------------------------------------------------------------------------------------------------------------------------

过滤器放在容器结构的什么位置?

过滤器放在web资源之前,可以在请求抵达它所应用的web资源(可以是一个Servlet、一个Jsp页面,甚至是一个HTML页面)之前截获进入的请求,并且在它返回到客户之前截获输出请求。

--------------------------------------------------------------------------------------------------------------------------------------

Filter:用来拦截请求,处于客户端与被请求资源之间,目的是重用代码。Filter链,在web.xml中哪个先配置,哪个就先调用。在filter中也可以配置一些初始化参数。

Filter的使用步骤

1.写Filter类

implements javax.servlet.Filter接口重写Filter接口中的方法init(FilterConfig),doFilter(ServletRequest req,ServletResponse res,FilterChain filter),destroy()

2.在web.xml中进行配置

<filter>

     <filter-name>filterName</filter-name>

     <filter-class>filterClass</filter-class>

</filter>

<filter-mapping>

     <filter-name>filterName<filter-name>

     <url-pattern>url</url-pattern>

</filter-mapping>

----------------------------------------------------------------------------------------------------------------------------------

Filter的生命周期:过滤器的四个阶段(与Servlet类似):

1.实例化

2.初始化(调用init()方法);---->init(FilterConfig)由容器调用,并且只调用一次

3过滤(调用doFilter()方法)---->doFilter(ServletRequest req,ServletResponse res,FilterChain filter)访问限定资源时被调用,会被调用多次,注意考虑多线程问题,处理方式和Servlet中的一样。

4.销毁(调用destroy()方法);--->destroy()由容器调用,并且只调用一次。

filter.doFilter(req,res):可以被认为是处理请求和响应的分界线,在filter.doFilter(...)前处理请求,在filter.doFilter(...)后处理响应。

主要:一旦写了Filter一定要在Filter.doFilter(...)中调用FilterChain.doFilter()方法,将请求皆有其他资源继续处理。

--------------------------------------------------------------------------------------------------------------------------------------

2
0
分享到:
评论
1 楼 elliotann 2011-02-15  
不错,很详细

相关推荐

    预防XSS攻击和SQL注入XssFilter

    &lt;filter-name&gt;XssFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.xxx.Filter.XssFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;XssFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/* &lt;/filter-mapping&gt;

    filter对request请求拦截,对请求参数进行修改

    对request请求进行拦截,... &lt;filter-class&gt;weixin.idea.waiting.cq.controller.JsFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;sqlFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/* &lt;/filter-mapping&gt;

    Wavelets and Filter Banks_MIT

    Wavelets and Filter Banks_MIT Lecture 1 Discrete-time Filters: Convolution Fourier Transform Lowpass and Highpass Filters Lecture 2 Sampling Rate Change Operations: Upsampling and Downsampling ...

    delphi资源-Filter中的模糊过滤

    Filter中的模糊过滤: 要实现模糊过滤,BDE中要用“*”,不允许使用“Like”关键字,且只能向后匹配,如“Fcode=’101*’”;而ADO则是使用“%”或“*”都可以,可以使用“Like”关键字,且和SQL语句用法一致,可以...

    FilterPro低通滤波器设计工具使用中文手册整理.pdf

    "FilterPro 低通滤波器设计工具使用中文手册整理" FilterPro 是德州仪器的注册商标,FilterPro 低通滤波器设计工具是为了辅助设计低通滤波器,实现多反馈 (MFB) 及 Sallen-Key 拓扑。该工具可以帮助设计人员快速...

    Filter(过滤器)简介和工作原理

    Filter(过滤器)简介和工作原理 Filter 简介 Filter(过滤器)是 Java EE 中的一种组件,用于拦截和处理 Servlet 容器中的请求和响应。Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 ...

    NDIS Filter Drivers指南

    Filter Drivers主要包括以下特性:   1) 一个Filter Drivers实例叫Filter Module。Filter Module附加在一个适配器的微端口驱动上, 来自相同或不同Filter Drivers的多个Filter Module都可以被堆叠在一个网络...

    Servlet Filter 的单元测试

    Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试

    Bloom Filter概念和原理

    Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不...

    Electronic Filter Design Handbook

    Refinements in LC Filter Design and the Use of Resistive Networks Chapter 9. Design and Selection of Inductors for LC Filters Chapter 10. Component Selection for LC and Active Filters Chapter 11. ...

    利用java filter 实现业务异常拦截源码

    利用java filter 实现业务异常拦截 跳转到错误信息提示页面 我们在做项目中肯定都会遇到自定义业务异常 ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理...

    java filter打印请求返回参数

    java filter打印请求返回参数

    FilterPro低通滤波器设计软件及中文使用资料.rar_FilterProDT 下载_filterpro

    FilterPro低通滤波器设计软件及中文使用资料,用于设计滤波器,放大器

    What is notch filter

    A Notch filter is a filter that passes all frequencies except those in a stop band centered on a center frequency. A closely related Knowledgebase item discusses the concept of the Q of a filter. ...

    Delphi 判断cxGrid表格是否在filter状态.rar

    Delphi 判断cxGrid表格是否在filter状态:  procedure TFrmOrderBy.BtnOrderClick(Sender: TObject);  begin  ADODataSet1.Filtered := false;  ADODataSet1.Filter := 'dePartMent=''软件部''';  ADODataSet1....

    FilterPro软件安装

    ti官方软件FilterPro,滤波器设计软件,win10可运行

    filter wiz pro v5

    Filter Wiz Pro适用于低于-1Hz 至10MHz 范围内的截止频率,而适用于此范围的无源滤波器设计必须具备非常大的组件值和组件尺寸  Filter Wiz Pro在几分钟内便能让您设计、优化和仿真一套完整的多级有源滤波器解决方案...

    Kalman Filter卡尔曼滤波 java实现

    KalmanFilter,KalmanFilter3,KalmanFilter5 一共7种,以上三种实现保证可用,其余待调试,调试函数写好,直接运行即可 KalmanFilter KalmanFilter2 KalmanFilter3 KalmanFilter4 KalmanFilter5 KalmanFilter6 Kalman...

    Microwave_filter_design

    This thesis presents an entire design process for filter synthesis of narrow to moderate bandwidth filters, from an investigation of the basic theory through to the development of a generalised ...

    C语言头文件 FILTER

    C语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC语言头文件 FILTERC...

Global site tag (gtag.js) - Google Analytics