Filter过滤器及其作用介绍
一、过滤器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过滤器及其作用介绍相关推荐
- Filter过滤器的作用和工作原理
对于一个web应用程序来说,过滤器是处于web容器内的一个组件,它会过滤特定请求资源请求信息和响应信息.一个请求来到时,web容器会判断是否有过滤器与该信息资源相关联,如果有则交给过滤器处理,然后再交 ...
- Filter过滤器的简单介绍与使用
Filter过滤器 开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截.简单说,就是可以实现web容器对某资源的访问前截获进行相关的处理,还可以在某资源向web容器返回响应前进行截 ...
- Filter 过滤器的介绍及使用
Filter过滤器 MySql的语法看这篇就够了,传送地址:MySql必知必会 JSP的使用看这篇就够了,传送地址:JSP必知必会 文章目录 Filter过滤器 一.Filter过滤器的介绍 二.Fi ...
- Filter过滤器和动态代理处理机制和案例(Filter过滤器和动态代理结合)
关注公众号:"奇叔码技术" 回复:"java面试题大全"或者"java面试题" 即可免费领取资料 Filter过滤器和动态代理处理机制和案例 ...
- Java ---Filter过滤器
Filter可以视作是servlet的加强版,主要用作对用户的请求进行预处理,或者对返回给客户端的结果进行再次加工,是一个典型的链式处理模式.本篇简单介绍filter的基本使用方法,主要涉及以下内容: ...
- Filter过滤器是什么?
1.what filter过滤器的作用:拦截请求 2.why 网页上的某些操作或数据只有用户登录之后才能访问,用filter来过滤掉未登录的用户,只让已经登录的用户继续访问 3.for 利于数据的管理 ...
- 使用filter过滤器实现简单用户登录验证(不用配置web.xml文件)
一.filter过滤器的作用 如果想要获取中文字符,或者是显示提交的中文,就需要添加以下代码,来防止乱码的情况发生. request.setCharacterEncoding("utf-8& ...
- Filter过滤器介绍及使用
文章目录 1.Filter 什么是过滤器 2.Filter 的初体验 Filter过滤器的使用步骤: 3.Filter的生命周期 4.FilterConfig 类 5.FilterChain 过滤器链 ...
- javaweb(11) Listener监听器与Filter过滤器
javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...
最新文章
- 关于Spring boot使用心得
- 机器学习-特征抽取02
- javascript设计模式-学习笔记
- struts2+hibernate+spring配置管理(一)-配置文件2
- PLSQL创建用户及权限分配
- java 控制 sortedset_Java集合的checkedSortedSet()方法和示例
- java跑批任务_【spring配置】——spring整合Quartz定时器
- 程序为什么非得装入内存再执行?
- [面试] C/C++ 语法(六)—— RTTI(运行时类型信息)
- TSPL学习笔记(2):过程和变量绑定
- 型钢计算机电脑打不开,型钢计算软件
- 环境变量(PATH)的那些事
- 字蛛font-spider报错,web font not found,碰到的最新问题及解决方法
- 语音识别技术的前世今生【前世篇】
- PDM,读《长尾理论》
- 微信小程序分享功能的实现方法有两种
- 各行各业利润大曝光!电脑、服装、房子、奶茶等等利润大曝光,快进来瞧瞧吧~
- 基于阿克曼转向的车辆运动学模型
- Nature Microbiology|益生菌的菌株特异性影响驱动早产儿肠道微生物组的发展
- dell服务器启动顺序如何设置_Dell PowerEdge 服务器启动指南