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

    1.filter的简介
      filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理

    2.快速入门
      步骤:
      1)编写一个过滤器类实现Filter接口
      2)实现接口中尚未实现的方法(着重实现doFilter方法)
      3)在web.xml中配置(主要是配置要对那些资源进行过滤)

    3.filter的执行顺序
      看的是filter-mapping的前后顺序 而不是看filter的顺序

    4.匹配方式
      1)完全匹配
      <filter-mapping>
      <filter-name>QuickFilter1</filter-name>
      <url-pattern>/servlet1</url-pattern>
      <filter-mapping>

      和上面等价的是
      <filter-mapping>
      <filter-name>QuickFilter1</filter-name>
      <servlet-name>Servlet1</servlet-name>
      <filter-mapping>
    2)目录匹配
      <filter-mapping>
      <filter-name>QuickFilter1</filter-name>
      <url-pattern>/aaa/*</url-pattern>
      <filter-mapping>
    3)扩展名匹配
      <filter-mapping>
      <filter-name>QuickFilter1</filter-name>
      <url-pattern>*.jsp</url-pattern>
      <filter-mapping>

    5.dispatcher:访问的方式
      request:默认值,代表直接访问某个资源执行filter
      forward:转发时才执行filter
      include:包含资源时执行filter
      error:发生错误时 进行跳转是执行filter
      上面的英文都大写

      <filter-mapping>
      <filter-name>QuickFilter1</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <filter-mapping>

    6.总结Filter的作用
      1)公共代码的提取
      2)可以对request和response中的方法进行增强(装饰者模式)
      增强有3中方式:继承/装饰者模式/动态代理
      3)进行权限控制

  • 相关阅读:
    AngularJS实现跨域请求
    从古代名著看领导与被领导的艺术
    关于学习视频教程的反思之中的一个
    关于tcp中time_wait状态的4个问题
    AjaxPro因为汉字文件夹引发的IE兼容性问题
    MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored
    安全运维之:Linux系统账户和登录安全
    mongodb导入导出备份恢复
    mongodb数据库备份恢复
    mongodb
  • 原文地址:https://www.cnblogs.com/moster/p/7921563.html
Copyright © 2011-2022 走看看