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页面集中精力考虑内容显示和委托处理,而不必担心会话管理的细节.

  • 相关阅读:
    数据库分页
    SpringBoot 集成 MQTT
    mybatis的级联查询-懒加载遇到的序列化问题
    springboot学习:第二天
    SpringSecurity学习
    大日志文件查看方式
    logger(七)、springBoot的日志源码查看(LogBack + slf4j)——配置的实际工作类Action
    logger(六)、springBoot的日志源码查看(LogBack + slf4j)—— ContextInitializer
    logger(五)、springBoot的日志源码查看(LogBack + slf4j)——Appender
    logger(四)、springBoot的日志源码查看(LogBack + slf4j)——记录日志
  • 原文地址:https://www.cnblogs.com/sxl920624/p/6695061.html
Copyright © 2011-2022 走看看