1.过滤器
可以拦截从客户端到服务器请求中的信息进行过滤;也可以拦截服务器到客户端的响应中的信息进行过滤。
2.过滤器的应用场景?
a.字符集的修改b.脏话过滤 c.登录权限验证
3.编写过滤器的步骤:
a.编写普通类,实现javax.servlet.Filter接口
b.重写接口中的destory().init().doFilter()方法,注意:在重写doFiletr()方法的时候,该方法中只是要有一行代码,chain.doFilter(request,response)
c.配置web.xml,通知Tomcat服务器什么时候实例化过滤器对象
<filter>
<filter-name>OneFilter</filter-name>
<filter-class>com.svse.filter.OneFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OneFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.过滤器的生命周期
a.服务器启动的同事,Tomcat会自动实例化过滤器对象并且自动调用init()方法(只调用一次)
b.每次发送请求的时候,会自动调用过滤器中的doFiter()方法
c.但每次服务器关闭的时候Tomcat会自动调用destory()方法,然后销毁过滤器对象
在请求和响应的时候都会经过过滤器
chain.doFilter(request,response):在该方法之前是对请求的处理;在该方法之后是对响应的处理
5.过滤器链的概念
a.过滤器实例化的顺序?
由web.xml文件中<filter>标签的位置决定
b.请求和相应经过过滤器的顺序?
从客户端到服务器是1->2->3,从服务器到客户端3->2->1