Java过滤器概述
应用场景
Web资源权限访问控制
------身份识别防止敏感信息外泄
请求字符集编码处理
-------对不同的字符进行不同编码的处理
内容敏感词汇过滤
------请求预处理对敏感词汇进行识别和响应后处理对敏感词汇进行屏蔽
响应信息压缩
------响应对信息量过大时,对响应对响应对信息进行处理。
过滤器的生命周期
1、web应用启动的时候,web服务器创建Filter的实例对象,并对Filiter初始化。
2、当请求访问与过滤器关联的web资源的时候,过滤器拦截请求,完成指定功能。
3、Filter对象创建后会驻留在内存内,在web应用移除或服务器停止时才销毁。
4、过滤器的创建和销毁由服务器负责。
过滤器的实现步骤
1、编写Java类实现Filter接口,并实现其doFilter方法
2、在web.xml文件中对Filter类进行注册,并设置所拦截的资源
3、创建初始化参数并使用
—1 、在配置文件中注册过滤器的栏目内,添加初始化参数
—2、在filter类中创建一个类属性,用于获取初始化参数(get,set 方法无所谓加不加,这里习惯性加上了,实际使用上用处不大)
—3、传入初始化参数对象,对服务器封装好的初始化参数进行获取
—4、在doFilter方法中获取参数值。
过滤器链
在一个web应用中,多个过滤器组合起来的被称为过滤器链
过滤器链的顺序取决于过滤器在web.xml中的注册顺序
注册顺序决定的是预处理的调用顺序,后处理的调用顺序是注册顺序的逆序