zoukankan      html  css  js  c++  java
  • 过滤器Filter

    一.Filter的作用

      当用户的请求到达指定的URL之前,可以借助Filter来改变这些请求的内容;同样的,当响应结果到达客户端之前,可以使用Filter修改输出的内容。

    二.FilterChain(过滤器链)

      一个FilterChain中包含多个Filter。

        

    三.过滤器的工作原理

      

      

    四.过滤器的生命周期(实例化以及初始化都是随着服务器启动而加载一次)

    五.过滤器的部署(在web.xml中加入以下代码来部署)

    1 <filter>
    2     <filter-name>Logger</filter-name>
    3     <filter-class>com.util.LoggerFilter</filter-class>
    4 </filter>
    5 <filter-mapping>
    6     <filter-name>Logger</filter-name>
    7     <url-pattern>/*</url-pattern>
    8 </filter-mapping>
    注意:两个<filter-name>标签中间的名字要保持一致,<filter-class>标签中间要写包名.类名
        <url-patter>标签中间写的是要拦截的url
    多个过滤器,这样配置时,<filter-mapping>标签的顺序决定了过滤器链中过滤器的顺序


    六.Filter接口

      1.过滤器是一个对象,该对象的类实现了Filter接口

      2.Filter接口包含以下方法:

        

    注意:我们只需在doFilter()方法中处理事物即可,另外两个方法中可以不用写任何语句

      

    七.过滤器的应用场合:   
      1.加载:对于到达系统的所有请求,过滤器收集诸如浏览器类型,一天中的时间等相关信息,并对它们进行日志记录
      2.性能:过滤器在内容通过线路传来并在到达Servlet和JSP页面之前解压缩该内容,然后再取得响应内容,并在响应内容发送到客户机器之前将它转换为压缩格式
      3.安全:过滤器处理身份验证令牌的管理,并适当地限制安全资源的访问,提示用户进行身份验证或将它们指引到第三方进行身份验证.
      4.会话管理:将Servlet和JSP页面与会话处理代码混杂在一起可能带来相当大的麻烦.使用过滤器来管理会话可以让WEB页面集中精力考虑内容显示和委托处理,而不必担心会话管理的细节.

  • 相关阅读:
    jqmodal遮罩层的实现
    让Editplus和SVN集成
    asp.net很有用的字符串操作类
    TCP socket编程
    Adroid: ProgressBar 的使用
    在想的事情......
    I'm new to CNBlogs!
    压力
    开心工作
    feature
  • 原文地址:https://www.cnblogs.com/sxl920624/p/6695061.html
Copyright © 2011-2022 走看看