Filter
Filter 是servlet中非常重要的一个概念。表示过滤器。
实现一个Filter,需实现javax.servlet.Filter接口,重写该接口下的init、doFilter、destory三个方法。
还需要在web.xml文件中配置当前的filter类;
作用:请求一个服务(servlet或jsp)的时候,可以通过过滤器去拦截相应的任务(乱码、压缩、判断是否登陆、权限控制等)。
filter工作流程(生命周期):web容器启动,完成filter类的实例,调用init方法完成初始化工作,浏览器每次请求的时候,如果满足过滤器的过滤规则的时候,执行过滤器的doFilter方法完成过滤任务,如果满足过滤任务,就会执行目标的业务,web容器关闭时,调用destory方法完成过滤器的销毁。
过滤器
<filter>
<filter-name>hello</filter-name>
<filter-class>com.testing.filter.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hello</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用filter来过滤乱码
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.testing.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>