- 浏览: 1500814 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
Filters是在请求资源(Servlet或静态内容)或者响应资源时,也可以在请求和响应同时进行时,执行过滤任务。
Filters通过doFilter方法来执行过滤的。每个过滤都要访问一个FilterConfig对象,该对象包含了初始参数,要引用的ServletContext对
象。例如,在调入资源时,执行过滤。
Filters是被配置在web.xml配置文件中的。
一些需要过滤器的情况:
(1)认证Filter
(2)日志和审核Filter
(3)图片转换Filter
(4)数据压缩Filter
(5)密码Filter
(6)令牌Filter
(7)触发资源访问事件的Filter
(8)XSL/TFilter
(9)媒体类型链Filter
方法列表:
(1)destory():当Filter从服务中去除时,由servletcontainer来调用。在Filter的doFilter()的所有线程退出时或在一个时间周期
结束后该方法仅会被调用一次。在webcontainer调用过该方法后,该filte的r实例将不会再调用doFilter()。
该方法提供给Filter一个清除任意资源的时机,这些资源可能是被保存的(例如,内存、文件句柄、线程)或确保持久状态是和在内存Filter
的状态是同步的。
(2)doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain):Filter的doFilter方法是
在每次一个请求或响应时被调用,来处理过滤链最后的客户端请求资源。FilterChain被传入到此方法中,允许过滤器将request,response
传递到过滤链的下一个过滤。
这个方法的典型设计应该是遵循以下的模式:
<1>检测request
<2>通过特定过滤器对请求数据的内容或头信息进行过滤,并重新封装成request对象
<3>通过特定过滤器对响应数据的内容或头信息进行过滤,并重新封装成response对象
<4>通过chian对象调用过滤链的下一个过滤器,或不传递request/response到过滤链的下一个过滤器从而阻挡请求处理。
<5>在过滤链的下一个过滤器被调用后,直接设置头信息到response对象
(3)init(FilterConfigconfig):当Filter被放入到服务中时,由servletcontainer来调用。在实例化Filter后,init
会被调用一次。
有两种情况,容器不会将将Filter放入服务中:
<1>抛出ServletException时
<2>在容器规定的时间内没有返回实例
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/teedry/archive/2009/12/18/5031767.aspx
发表评论
-
ServletContext接口
2011-08-03 19:57 13451. 获取web应用(tomcat的Context ... -
ServletConfig接口
2011-08-03 19:41 13671. ServletConfig接口用于描述Ser ... -
HttpServletResponse
2011-08-03 19:31 18301. 控制消息头 add ... -
基于AOP设计思想的拦截器(Interceptor)与传统拦截器(Filter)的区别
2011-07-11 11:46 9407现在AOP的设计开发理念在软件开发中用的越来越广泛,在我们开发 ... -
HttpSessionListener用法
2010-12-02 20:46 1506继上次说到Listener的功效,这里就不得不说说另外一个接口 ... -
一个简单jsp-servlet例子
2010-10-15 11:17 5471以下的简单 jsp-servlet 例子流程为: inde ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解(2)
2010-06-25 13:56 163122、配置Struts <dis ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解(1)
2010-06-25 13:46 2859在项目中总会遇到一 ... -
web.xml中context-param,listener,filter,servlet加载顺序
2010-06-25 13:35 1895不同类别加载顺序:先 context-param 然后 lis ... -
过滤器(filter)在web 中的应用(一)
2010-06-22 17:38 2085过滤器(Filter)在Web开发中的应用: Filter是 ... -
javax.servlet基本类和接口
2010-06-19 21:25 2141基本类和接口一、javax.servlet.Servlet ... -
Session机制详解(jsp-servlet 技术)
2010-06-17 20:51 1489虽然session机制在web应用程序中被采用已经很长时间 ... -
servlet中配置文件web.xml中的参数context-param和init-param区
2010-06-17 09:56 1851web.xml里面可以定义两种参数:(1)applicatio ... -
优化Servlet配置为web.xml瘦身
2010-06-17 09:46 1744本文介绍优化Servlet配置为web.xml瘦身,web.x ... -
Java中用Servlet Listener实现定时监听
2010-06-12 13:50 1537分两步走: (1)实现 javax.servlet. ... -
戏说java web开发中的listener和filter
2010-06-12 11:26 1602今天在公司看到有同事在写filter,晚上一个人在家无聊,就想 ... -
谈谈Listener Servlet的应用
2010-06-12 10:53 1275... -
web中的listener简介
2010-06-12 10:42 1333... -
利用HttpSessionListener实现网站在线人数统计功能
2010-06-12 10:17 2062在网站中经常需要进行在线人数的统计。过去的一般做法是结合登录 ...
相关推荐
总结来说,过滤器在Java Web开发中扮演着重要的角色,它不仅扩展了Servlet技术的功能,还提高了Web应用的灵活性和可维护性。开发者在掌握了过滤器的创建、配置及使用后,可以有效地解决实际开发过程中遇到的各种问题...
在JAVA Web开发中,过滤器(Filter)是一个至关重要的组件,它主要负责在请求被Servlet处理之前或之后执行一些预处理或后处理操作。过滤器是JAVA Servlet API的一部分,通过实现javax.servlet.Filter接口来创建...
在实际开发中,过滤器的使用可以大大提高代码的可维护性和复用性,减少重复代码,同时提供了一种灵活的方式来增强Web应用程序的功能。 总之,过滤器是Web开发中的一个重要组件,它能够帮助我们实现各种功能,包括但...
在实际应用中,Servlet过滤器常常被用来实现以下功能: 1. **字符编码转换**:统一处理请求和响应的编码,防止乱码问题。 2. **登录验证**:拦截未登录用户的请求,引导用户进行登录操作。 3. **日志记录**:记录...
在一个Web应用中,可以定义多个过滤器,它们会形成一个过滤器链。当请求匹配到某个过滤器时,过滤器链中的所有过滤器都会按照它们在web.xml中的顺序依次执行doFilter方法。如果一个过滤器没有调用`chain.doFilter...
在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP中文乱码的详细步骤: 1. **配置web.xml文件*...
1. init():在 Web 应用程序启动时,Web 服务器将根据 web.xml 文件中的配置信息来创建每个注册的 Filter 实例对象,并将其保存在服务器的内存中。Web 容器创建 Filter 对象实例后,将立即调用该 Filter 对象的 init...
在web应用的`web.xml`配置文件中,我们定义Filter并指定其作用范围: ```xml <filter> <filter-name>myFilter</filter-name> <filter-class>com.example.MyFilter</filter-class> </filter> <filter-mapping> ...
第四,对相应的 servlet 和 JSP 页面注册过滤器,在部署描述符文件(web.xml)中使用 filter 和 filter-mapping 元素。最后,禁用激活器 servlet,防止用户利用缺省 servlet URL 绕过过滤器设置。 在建立过滤器时,...
在Java Web开发中,过滤器(Filter)是一个强大的工具,它允许开发者在数据处理的前后进行拦截和修改。本文将详细讲解Java Web项目中过滤器的使用方法,以及如何配置和实现过滤器。 1. **过滤器的概念** 过滤器是...
1. "WebAPI高级应用三--过滤器Filter.md" 这个Markdown文件很可能包含了关于Web API过滤器的详细教程,包括定义、分类、使用场景、如何创建自定义过滤器以及如何在Web API配置中应用它们。 2. "YDT.Project....
在Java Web开发中,过滤器...在阅读《过滤器filter和监听器listener的应用总结》这篇博客后,相信你对这两个概念会有更深入的认识。在实际工作中,根据具体需求灵活运用它们,可以大大提升应用的健壮性和用户体验。
在Java Web开发中,Filter(过滤器)是一个非常重要的组件,它允许我们在数据处理之前或之后执行特定的任务,比如防止跨站脚本攻击(XSS)、处理字符编码问题、实现权限控制等。在这个主题中,我们将深入理解Filter的...
实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面; (2)有3个http响应头字段可以禁止浏览器缓存当前页面,它们在Servlet中的示例代码如下。 response.setDateHeader("Expires",-1); ...
在IT行业中,Web过滤器(Web Filter)是一种用于在Web应用程序中执行特定任务的机制,主要目的是为了增强或改变HTTP请求和响应的处理过程。在C#编程环境下,我们可以使用ASP.NET框架来实现Web过滤器,它对于构建安全...
Servlet过滤器是Java Web应用程序中的一个重要组成部分,它提供了一种灵活的方式来对客户端的请求和服务器的响应进行预处理和后处理。这种机制允许开发者在不改变核心业务逻辑的情况下增强应用程序的功能。 #### 二...
Java Web开发中的过滤器(Filter)是Servlet技术的一部分,它在Web应用程序中扮演着至关重要的角色。过滤器允许开发者在请求被发送到目标资源(如Servlet、JSP页面)之前和响应被返回给客户端之后对请求和响应进行...
在Java Web应用中,过滤器的配置通常在`web.xml`文件中完成。以下是一个简单的过滤器配置示例: ```xml <filter> <filter-name>MyFilter</filter-name> <filter-class>com.example.MyFilterClass</filter-class> ...
Java-filter过滤器在项目开发中的应用 Java-filter过滤器是一种Java EE规范中的一种组件,用于拦截和处理Servlet请求和响应。在项目开发中,Java-filter过滤器可以应用于解决各种问题,以下是其中的两种应用: ...
这种特性使得`Filter`在实际应用中扮演着多种角色,例如:用户身份验证、编码转换、日志记录等。 #### 二、Filter的基本原理 `Filter`的工作机制基于拦截器模式。当客户端发送一个HTTP请求到服务器时,如果该请求...