zoukankan      html  css  js  c++  java
  • 过滤器概述

    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)

  • 相关阅读:
    数学之美:判断两个随机信号序列相似度
    为什么自己设计的嵌入式系统不如工业级产品稳定?
    由static来谈谈模块封装
    算法类书籍汇总
    Linux驱动:手把手教hello world驱动配置、编译进内核或为模块
    刨根问底之链表数据结构
    Redis进阶
    构建高可用的写服务
    再推荐 5 款私藏的优质 Chrome 插件
    MySQL-SQL优化
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11411319.html
Copyright © 2011-2022 走看看