作用: 对资源进行预处理的管理,不做业务逻辑处理。。。
保护Servlet。。。。
过滤器的使用:
使用:
创建一个实现了Filter接口的普通java类
覆写接口的方法:
init方法 : 服务器启动即执行。资源初始化
doFilter方法 :拦截请求的方法,在此方法中可以对资源实现管理
注意:
需要手动对请求进行放行。chain.doFilter(request,response)
destory方法 :服务器关闭执行
过滤器的生命周期是: 服务器启动到服务器关闭
在web.xml中配置过滤器
<!-- 配置过滤器 --> <filter> <filter-name>MyFilter</filter-name> <filter-class>com.bjsxt.filter.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFilter</filter-name> <url-pattern>/*</url-pattern> 表示拦截所有的请求。。。。 </filter-mapping>
注意:<url-pattern>/*</url-pattern> 表示拦截处理所有请求 。。
<url-pattern>*.do</url-pattern> 表示所有以 .do 结尾的请求都要拦截。一般是来进行模块拦截处理 。。
<url-pattern>/ts.do</url-pattern> 表示拦截指定url的请求(ts.do的请求)。针对某个servlet的请求进行拦截,保护servlet 。。
过滤器的生命中周期:
服务器启动到服务器关闭
总结:
过滤器程序员声明和配置,服务器根据请求中的uri信息调用
执行:
浏览器发起请求到服务器,服务器接收到请求后,根据URI信息在web.xml中找到对应的过滤器执行doFilter方法,该方法对此请求进行处理后如果符合要求则放行,放行后如果还要符合要求的过滤器则继续进行过滤,找到执行对应的servlet进行请求处理。servlet对请求处理完毕后,也就service方法结束了。还需继续返回相应的doFilter方法继续执行。。
案例:
统一编码格式设置
session管理
权限管理
资源管理(统一水印,和谐词汇等等。。)