今天学习了一下Filter,在这里和大家分享一下我的学习成果!!!
Filter也称之为过滤器,它是Servlet技术中一个重要的技术,
WEB开发人员通过Filter技术,对web服务器管理的所有web资源:
例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。
例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
废话我也不想多说了:直接上重点。
首先我们 Filter 的开发分为两个步骤
1、编写java类实现Filter接口,并实现其doFilter方法
2、在 web.xml 文件中使用<filter>和<filter-mapping>元素对编写的filter类进行注册,并设置它所能拦截的资源
例如:
<filter>
<filter-name>FileterDemo</filter-name> //过滤器的名称
<filter-class>FileterDemo</filter-class> //类的地址
</filter>
<filter-mapping> //过滤器的映射
<filter-name>FileterDemo</filter-name> //过滤器的名称
<url-pattern>/*</url-pattern> //过滤整个web的资源
</filter-mapping>
在这里,强调一下,在多个Filter里,配置在前面的最先执行。
Filter有几个方法
destroy()
doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
init(FilterConfig filterConfig)
doFilter()是用来初始化一个过滤器
init(FilterConfig filterConfig)是用来配置Filter
destroy()当过滤的生命周期结束的时候会对其进行销毁
小子我新人一个,路过的不要吐槽!!!
还望大家可以给我提点意见