Servlet过滤器使用.doc_第1页
Servlet过滤器使用.doc_第2页
Servlet过滤器使用.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Servlet过滤器使用(javax.servlet.Filter)作者:本站原创发布时间:2010-06-10来源:JAVA中文网 点我投稿教程由JAVA中文网整理校对发布(javaweb.cc)过滤器(Filter)的概念过滤器位于客户端和web应用程序之间,用于检查和修改两者之间流过的请求和响应。 在请求到达Servlet/JSP之前,过滤器截获请求。 在响应送给客户端之前,过滤器截获响应。 多个过滤器形成一个过滤器链,过滤器链中不同过滤器的先后顺序由部署文件web.xml中过滤器映射的顺序决定。 最先截获客户端请求的过滤器将最后截获Servlet/JSP的响应信息。 过滤器的链式结构可以为一个Web应用组件部署多个过滤器,这些过滤器组成一个过滤器链,每个过滤器只执行某个特定的操作或者检查。这样请求在到达被访问的目标之前,需要经过这个过滤器链。 实现过滤器在Web应用中使用过滤器需要实现javax.servlet.Filter接口,实现Filter接口中所定义的方法,并在web.xml中部署过滤器。public class MyFilter implements Filter public void init(FilterConfig fc) /过滤器初始化代码public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) /在这里可以对客户端请求进行检查/沿过滤器链将请求传递到下一个过滤器。chain.doFilter(request, response);/在这里可以对响应进行处理public void destroy( ) /过滤器被销毁时执行的代码Filter接口public void init(FilterConfig config)web容器调用本方法,说明过滤器正被加载到web容器中去。容器只有在实例化过滤器时才会调用该方法一次。容器为这个方法传递一个FilterConfig对象,其中包含与Filter相关的配置信息。public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)每当请求和响应经过过滤器链时,容器都要调用一次该方法。需要注意的是过滤器的一个实例可以同时服务于多个请求,特别需要注意线程同步问题,尽量不用或少用实例变量。在过滤器的doFilter()方法实现中,任何出现在FilterChain的doFilter方法之前地方,request是可用的;在doFilter()方法之后response是可用的。public void destroy()容器调用destroy()方法指出将从服务中删除该过滤器。如果过滤器使用了其他资源,需要在这个方法中释放这些资源。部署过滤器在Web应用的WEB-INF目录下,找到web.xml文件,在其中添加如下代码来声明Filter。MyF.uibe.webdev.MyFilterdeveloperTongQiang针对一个Servlet做过滤MyFilterMyServlet针对URL Pattern做过滤MyFilter/book/*标记是有先后顺序的,它的声明顺序说明容器是如何形成过滤器链的。过滤器应当设计为在部署时很容易配置的形式。通过认真计划和使用初始化参数,可以得到复用性很高的过滤器。 过滤器逻辑与Servlet逻辑不同,它不依赖于任何用户状态信息,因为一个过滤器实例可能同时处理多个完全不同的请求。Servlet过滤器使用(javax.servlet.Filter)(本教程仅供研究和学习,不代表JAVA中文网观点)本篇文章链接地址:http:/www.javaweb.cc/architecture/servlet/101950.shtml如需转载请注明出自JAVA中文网:ht

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论