1. 过滤器在Web开发中的一些主要应用:
1. 对用户请求进行统一认证;
2. 用户的访问进行记录和审核;
3. 对用户发送的数据进行过滤和替换;
4. 转换图像格式;
5. 对响应内容进行压缩,减少传输量;
6. 对请求和响应进行加解密处理。
2. 过滤器生命周期的各个阶段:
1.实例化 Servlet容器创建Filter实例对象。
2.初始化 调用init()方法,完成对象的初始化功能,只执行一次。
3.过滤 调用doFilter()方法,该方法中定义过滤规则。
4.销毁 调用destroy()方法销毁Filter对象,释放过滤器使用的资源。
3. 有关过滤器的API
Filter
过滤器必须是一个实现Filter接口的类的对象,它根据用户的请求和资源的响应进行过滤。
Filter 接口包含以下方法:
public void init(FilterConfig fg) //被容器调用,初始化过滤器
public void doFilter(ServletRequest req,ServletResponse res, FilterChain chain) // 每当有请求或响应时被容器调用,进行过滤
public void destroy() //被容器调用,销毁过滤器
FilterChain
FilterChain接口用于调用过滤器链中的一系列过滤器,通过该接口把被过滤的任务在Filter间传递,它的主要方法:
public void doFilter(ServletRequest req, ServletResponse res) //调用下一个过滤器,若无下一过滤器,则将请求或响应传递到目标
FilterConfig
FilterConfig对象由容器提供给过滤器,以允许访问该过滤器的初始化数据(web.xml中配置)
FilterConfig 接口包含以下方法:
String getFilterName():得到filter的名称。
String getInitParameter(String name): 返回在部署描述中指定名称的初始化参数的值。如果不存在返回null。
Enumeration getInitParameterNames():返回过滤器的所有初始化参数的名字的枚举集合。
public ServletContext getServletContext():返回Servlet上下文对象的引用。
4. 实现过滤器的步骤
1.创建一个实现javax.servlet.Filter接口的类
2.实现init()方法,读取过滤器的初始化参数
3.实现doFilter()方法,完成对请求或过滤的响应
4.调用FilterChain接口对象的doFilter()方法,向后续的过滤器传递请求或响应
5.在web.xml中配置Filter,对需要过滤的资源进行配置
分享到:
相关推荐
4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器
Cuckoo 过滤器是近似集合成员查询的布隆过滤器替代品。虽然 Bloom 过滤器是众所周知的节省空间的数据结构,可以服务于“如果项目 x 在一个集合中?”之类的查询,但它们不支持删除。它们启用删除的差异(如计算 ...
"GridControl 的过滤器自定义查询" DevExpress 的 GridControl 提供了强大的过滤器功能,允许开发者自定义查询条件以满足复杂的数据检索需求。在本文中,我们将探讨如何自定义 GridControl 的过滤器以实现复杂的...
登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器
JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器
为了解决在干法除尘煤气化技术中广泛使用的飞灰过滤器陶瓷滤芯断裂问题,以神华煤制油装置飞灰过滤器为研究对象,将采用Fe3Al材料制得的滤芯在过滤器中使用。通过测定合成气及飞灰特性、过滤效率、流量-压差曲线、滤饼...
过滤器
不允许未登陆用户访问的过滤器配置,filter,用户登陆过滤器,session判断用户登陆 不允许未登陆用户访问的过滤器配置
STM32的CAN过滤器详解
SpringBoot的filter过滤器 一、过滤器的作用和概述 1.1 简述 1.2 使用场景 二、自定义过滤的两种方式 2.1 第一种方式 2.1.1 启动类增加注解@ServletComponentScan 2.1.2 定义一个filter类 2.1.3. 测试 2.2 第二种...
布隆过滤器,大家学过数据结构的应该都清楚,一般的字典树要实现嵌入和查找都内存的消耗非常大,布隆过滤器有BloomFilter,string, BKDRHash, APHash, DJBHash> bf五个参数你要查找的元素个数,查找元素类型,三个...
C++实现的布隆过滤器,其中使用到的bitset也是自己简单实现的一个BitContainer。可以处理千万条到亿条记录的存在性判断。做成dll可以在很多场合使用,如自己写爬虫,要判断一个url是否已经访问过,判断一个单词是否...
关于JAVA过滤器的编写,和一些要求!代码精简,方便使用
struts2配置过滤器 示例代码
拦截器和过滤器的区别,从实现原理到应用场景各处区别
servlet过滤器实例经典过滤器,手把手交你配置过滤器,五大常用过滤器源码,走过路过的同事们注意了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Servlet过滤器的简单使用,实现一个登陆界面。代码和博文几乎一致。
STM32 CAN过滤器 滤波器 配置详解
配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的Server.xml文件配置...
利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限