过滤器概述

1.过滤器简介

  过滤器也叫作Filter,,和Servlet、监听器(Listener)统称为JavaWeb的三大组件

  过滤器主要作用是对用户发送的请求进行拦截处理

  Servlet主要作用是接收用户的请求,最后做出处理

  监听器的主要作用是对某一个对象的属性状态等信息进行监听

  过滤器也叫作Filter,通过过滤器可以实现在用户访问某个资源之前或者之后,将发送的请求和响应拦截下来,进行相关的处理。

  Servlet API 中提供了一个Filter接口,开发web应用时,如果编写了一个类,实现了这个接口,则这个类就是过滤器

  总结:

  (1)所谓的过滤器,就是将用户对资源的访问进行拦截

  (2)一个过滤器可以配置拦截多个资源,一个资源也可以配置多个过滤器进行拦截

  (3)其实所谓的拦截,就是将代表请求的request对象和代表响应的response对象拦截下来,从而做一些相关的处理

    比如:在判断用户是否登录,才允许访问购物车或者订单

2. 过滤器中的方法

  2.1 init方法:  在Filter实例创建之后立即执行,进行初始化的操作

          在服务器启动,web应用被加载之后立即创建出当前web应用内的所有的过滤器实例

  2.2 destroy 方法  在Filter 实例销毁之前执行,进行善后的处理

            在服务器关闭或者web应用被移除容器是,随着web应用的销毁,所有的过滤器实例也会跟着销毁

  2.3 doFile() 方法  在过滤器拦截到请求后,会立即调用这个方法来处理

            request 表示请求的对象

            response 表示响应的对象

              这里的request、response对象需要向下转成HttpServleRequest、httpServletResponse,在这里向下转成功的原因为:在tomcat内部创建的这个request它就是httpservletrequest接口的子类。

            FilterChain 表示过滤器链的对象,作用是用来放行过滤器

              chain.doFilter(req,res)

原文地址:https://www.cnblogs.com/gxlaqj/p/11411319.html