Filter过滤器是处于客户端和服务器资源文件之间的一道过滤网,Web开发人员通过Filter技术管理Web服务器的所有资源.例如:对JSP,Servlet,静态图片文件或静态HTML文件等进行拦截我,从而实现一些特殊的功能,如实现URL级别的权限访问控制,过滤敏感词汇压缩响应信息等一些高级功能.
Filter的创建和销毁由平台负责,web程序启动时,创建Filter的实例对象,并调用其init方法,读取web.xml配置,完成初始化功能,为后续的拦截做准备.当客户请求访问过滤器访问关联的 URL时,过滤器首先执行doFilter方法.FilterChain参数用于访问后续过滤器.Filter对象创建后会驻留在内存中,当Web应用移除或者服务器停止时才销毁.在Web容器卸载Filter对象之前,destory被调用.该方法在Filter的生命周期中仅执行一次,试岗过滤器使用的资源.
FilterChain的执行顺序遵循先进后出原则,Request请求被所有的Filter处理之后,返回的顺序是从最后一个开始返回,知道返回给客户端.
过滤器Filter的使用
- 首先在Filter类上引入注解,将一个类声明为过滤器
@WebFilter(filterName = " ",urlPatterns = "/*")
- 其次,在入口类XxxSpringBootApplication.java中添加注释
@ServletComponentScan
,使用该注解,Servlet,Filter,Listener可以直接通过@WebServlet,@WebFilter,@WebListener注释自动注册.
网友评论