Filter过滤器

概述:拦截请求与过滤请求

 应用场景: 1 权限检查

                    2 日记操作       

                    3 事物管理

Filter的初体验

创建过滤器以及生命周期

                                 implements Filter(接口)实现Filter接口方法

           1. init(FilterConfig filterConfig)初始化方法,在服务器启动的时候就执行。web工程启动已经执行

           2. doFilter(ServletRequset requset,ServletRespone response,FilterChain chain)过滤器拦截的业务逻辑处理。 每次拦截到请求,就会执行

          3. destroy() 销毁过滤器实例的时候调用。web工程结束就会注销

interface FilterChain 过滤链:doFilter(ServletRequest request   ServletRespone response)

                                              执行下一个过滤器或者放行(访问动态资源)

配置Filter路径

方式一:不推荐使用 

 

方式二:使用注解(Servlet3.0支持注解)推荐使用

FilterConfig类

它时Filter过滤器的配置文件类。Tomact每次创建Filter的同时就会创建一个FilterConfig类,这里包含了Filter配置信息: 获取Filter的名称:filter-name

                                  获取在Filter中配置的init-param的初始化值

                                  获取ServletContext对象。

Filter的拦截路径

   精准匹配:

                        <url-pattern>/target.jsp<url-pattern>  http://ip:port/工程路径/target.jsp

   目标匹配:

                        <url-pattern>/admin/*<url-pattern>  http://ip:port/工程路径/admin/*

   后缀名匹配:

                         <url-pattern>*/html<url-pattern>  http://ip:port/工程路径/...../xxx.html

ThreadLocal的使用

ThreadLocal的作用,它可以解决多线程的数据安全问题。
ThreadLocal它可以给当前线程关联一个数据(普通变量,对象,数组,集合)
ThreadLocal的特点:
     1、
ThreadLocal可以为当前线程关联一个数据。(它可以像Map一样存取数据,key为当前线程)
     2、每
一个ThreadLocal对象,只能为当前线程关联一个数据,如果要为当前线程关联多个数据,就需要使用多个ThreadLocal对象实例。
     3、每个
ThreadLocal对象实例定义的时候,一般都是static类型
     4、ThreadLocal中保存数据,在线程销毁后。会由JM虚拟自动释放。
    

                                            主要是set与get方法

简单理解

       ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,如何防止自己的变量被其它线程篡改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值