一、过滤器Filter

1.filter的简介

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

2.Filter的API详解

(1)filter生命周期及其与生命周期相关的方法

Filter接口有三个方法,并且这个三个都是与Filter的生命相关的方法

 init(Filterconfig):代表filter对象初始化方法 filter对象创建时执行

 doFilter(ServletRequest,ServletResponse,FilterChain):代表filter执行过滤的核心方法,如果某资源在已经被配置到这个filter进行过滤的话,那么每次访问这个资源都会执行doFilter方法

destory():代表是filter销毁方法 当filter对象销毁时执行该方法

  Filter对象的生命周期:

Filter何时创建:服务器启动时就创建该filter对象

Filter何时销毁:服务器关闭时filter销毁

(2)Filter的AP详解

1)init(FilterConfig)

其中参数config代表 该Filter对象的配置信息的对象,内部封装是该filter的配置信息。

@Override
            //初始化方法:Filter创建时去执行init方法
            public void init(FilterConfig filterConfig) throws ServletException {
            //1、获得web.xml中filter 的名称 <filter-name>QuickFilter1</filter-name>
            System.out.println(filterConfig.getFilterName());
            //2、还能获得当前filter的一些初始化参数
            System.out.println(filterConfig.getInitParameter("aaa"));
            //3、获得servletContext
            filterConfig.getServletContext();
            System.out.println("init....");

}

 2)destory()方法

filter对象销毁时执行

  3)doFilter方法

doFilter(ServletRequest,ServletResponse,FilterChain)

其中的参数:

 ServletRequest/ServletResponse:每次在执行doFilter方法时 web容器负责创建一个request和一个response对象作为doFilter的参数传递进来。该request个该response就是在访问目标资源的service方法时的request和response。

FilterChain:过滤器链对象,通过该对象的doFilter方法可以放行该请求

   4、Filter的配置

<filter>
              <filter-nameFilter1</filter-name>
              <filter-class>com.filter.Filter1</filter-class>
      </filter>
      <filter-mapping>
              <filter-name>Filter1</filter-name>
              <url-pattern>/*</url-pattern>
      </filter-mapping>

    5、url-pattern配置时

1)完全匹配  /sertvle1

2)目录匹配  /aaa/bbb/* ----最多的

/user/*:访问前台的资源进入此过滤器

/admin/*:访问后台的资源时执行此过滤器

3)扩展名匹配  *.abc  *.jsp

 注意:url-pattern可以使用servlet-name替代,也可以混用

 6、dispatcher:访问的方式(了解)

        配置格式为:<dispather>*</dispather>

REQUEST:默认值,代表直接访问某个资源时执行filter

 FORWARD:转发时才执行filter

INCLUDE: 包含资源时执行filter

  ERROR:发生错误时 进行跳转是执行filter

    7、Filter的作用?

 1)公共代码的提取

        2)可以对request和response中的方法进行增强(装饰者模式/动态代理)

        3)进行权限控制

Filter过滤器及其作用介绍相关推荐

  1. Filter过滤器的作用和工作原理

    对于一个web应用程序来说,过滤器是处于web容器内的一个组件,它会过滤特定请求资源请求信息和响应信息.一个请求来到时,web容器会判断是否有过滤器与该信息资源相关联,如果有则交给过滤器处理,然后再交 ...

  2. Filter过滤器的简单介绍与使用

    Filter过滤器 开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截.简单说,就是可以实现web容器对某资源的访问前截获进行相关的处理,还可以在某资源向web容器返回响应前进行截 ...

  3. Filter 过滤器的介绍及使用

    Filter过滤器 MySql的语法看这篇就够了,传送地址:MySql必知必会 JSP的使用看这篇就够了,传送地址:JSP必知必会 文章目录 Filter过滤器 一.Filter过滤器的介绍 二.Fi ...

  4. Filter过滤器和动态代理处理机制和案例(Filter过滤器和动态代理结合)

    关注公众号:"奇叔码技术" 回复:"java面试题大全"或者"java面试题" 即可免费领取资料 Filter过滤器和动态代理处理机制和案例 ...

  5. Java ---Filter过滤器

    Filter可以视作是servlet的加强版,主要用作对用户的请求进行预处理,或者对返回给客户端的结果进行再次加工,是一个典型的链式处理模式.本篇简单介绍filter的基本使用方法,主要涉及以下内容: ...

  6. Filter过滤器是什么?

    1.what filter过滤器的作用:拦截请求 2.why 网页上的某些操作或数据只有用户登录之后才能访问,用filter来过滤掉未登录的用户,只让已经登录的用户继续访问 3.for 利于数据的管理 ...

  7. 使用filter过滤器实现简单用户登录验证(不用配置web.xml文件)

    一.filter过滤器的作用 如果想要获取中文字符,或者是显示提交的中文,就需要添加以下代码,来防止乱码的情况发生. request.setCharacterEncoding("utf-8& ...

  8. Filter过滤器介绍及使用

    文章目录 1.Filter 什么是过滤器 2.Filter 的初体验 Filter过滤器的使用步骤: 3.Filter的生命周期 4.FilterConfig 类 5.FilterChain 过滤器链 ...

  9. javaweb(11) Listener监听器与Filter过滤器

    javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...

最新文章

  1. 关于Spring boot使用心得
  2. 机器学习-特征抽取02
  3. javascript设计模式-学习笔记
  4. struts2+hibernate+spring配置管理(一)-配置文件2
  5. PLSQL创建用户及权限分配
  6. java 控制 sortedset_Java集合的checkedSortedSet()方法和示例
  7. java跑批任务_【spring配置】——spring整合Quartz定时器
  8. 程序为什么非得装入内存再执行?
  9. [面试] C/C++ 语法(六)—— RTTI(运行时类型信息)
  10. TSPL学习笔记(2):过程和变量绑定
  11. 型钢计算机电脑打不开,型钢计算软件
  12. 环境变量(PATH)的那些事
  13. 字蛛font-spider报错,web font not found,碰到的最新问题及解决方法
  14. 语音识别技术的前世今生【前世篇】
  15. PDM,读《长尾理论》
  16. 微信小程序分享功能的实现方法有两种
  17. 各行各业利润大曝光!电脑、服装、房子、奶茶等等利润大曝光,快进来瞧瞧吧~
  18. 基于阿克曼转向的车辆运动学模型
  19. Nature Microbiology|益生菌的菌株特异性影响驱动早产儿肠道微生物组的发展
  20. dell服务器启动顺序如何设置_Dell PowerEdge 服务器启动指南

热门文章

  1. 谁导演了这场玫瑰花的葬礼
  2. JLINK识别不到芯片
  3. Android开发之蓝牙通信
  4. 2018百城巡展走进深圳 新华三畅谈数字经济的本质
  5. RSTP、MSTP协议
  6. 【转载】CRC32校验算法C语言版(查表法)
  7. 【转】无领导小组面试经验、银行应聘事项和其他找工作的经验
  8. protege5.0基础教程
  9. MVC 停车场管理系统java jsp 程序设计 课程设计 毕业设计-附源码02141
  10. 小白怎样学习数据分析?