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

    概念

    我们使用过滤器对请求和响应做统一的处理后在传递给servlet(或从servlet传出)。也可以针对某类甚至某个servlet的请求做特殊处理。

    由服务器来调用filter,先经过filter才到servlet。所以filter的生命周期是从服务器开启到服务器关闭。

    通过过滤器可以保护网站,例如保护网站在不登录的情况下不能访问主页,在不登录的情况下不能访问网站的资源(如盗链图片,视频等)。

    • /.mp3 当访问本站的.mp3资源要先经过过滤器。

    常用案例

    • 同一编码格式
    • session管理
    • 权限管理
    • 资源管理(同一水印,词汇和谐)

    创建过滤器

    • new->Filter

    配置web.xml

    格式如:

      <filter>
    	<filter-name>myFilter</filter-name>      
    	<filter-class>cn.xiaohei.filter.MyFilter</filter-class>
      </filter>
      <filter-mapping>
    	<filter-name>myFilter</filter-name>      
    	<url-pattern>/*</url-pattern>
      </filter-mapping>
    

      

    url-pattern详解

    • /* 表示拦截所有url,相当于全局过滤器
    • /*.d 表示拦截所有以.d结尾的url对其进行过滤
    • /a.b 表示针对/a.b这个url的servlet进行过滤

    过滤器的使用

    过滤器的三个方法

    • init() 过滤器初始化时执行的方法
    • destory()  过滤器执行过滤的方法
    • doFilter()  过滤器被销毁时执行的方法
  • 相关阅读:
    vue中使用keepAlive(缓存页面&记忆上次浏览位置)及使用后生命周期的改变
    vue搭配antD-Vue开发项目(一)
    vscode使用
    vue移动端项目经验(三)
    [CF960F] Pathwalks
    [CF1004E] Sonya and Ice-cream
    [CF1142B] Lynyrd Skynyrd
    [CF55D] Beautiful numbers
    [洛谷P4438] HNOI2018 道路
    JOI2019 有趣的家庭菜园3
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12395745.html
Copyright © 2011-2022 走看看