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 ...
最新文章
- CSP 201912-2 回收站选址 python实现+详解
- 分布式事务篇——第二章:分布式事务解决之2PC剖析
- Effective C++ 阅读笔记(一)透彻了解inline以及降低编译依存关系
- 信息安全工程师笔记-数字证书
- Docker(二十三)-Docker使用pipework配置本地网络
- python try exception类_python——异常类型
- Python之网络编程(TCP套接字与UDP套接字)
- 算法提高 拿糖果【埃氏筛 动态规划】
- ASP.NET AJAX入门系列(8):自定义异常处理
- IOS:static和extern的使用
- IOS开发笔记_5.线程,HTTP请求,定时器
- python与anaconda安装
- java程序员中英文简历_Java程序员英文简历范文
- 实战-全局唯一邀请码功能实现
- 硕士毕业论文奇偶页眉页脚的设置
- android 手机处理器,安卓手机处理器性能排行 你的手机能排第几?
- SuperSU下载 | SuperSU Download
- 使用python程序抓取天眼查,企查查和爱企查上的企业基本信息
- 案例 | 巴别鸟助推WE+管理入驻企业文档资料
- windows下sass开发环境的搭建