Filter是1 Tomcat容器内的过滤器,在请求到达容器是先会调用过滤器,再调用我们的servlet或者jsp
Filter过滤器链
①过滤器可以组成一 个过滤器链,链中的每个过滤器都可以负责特定的操作和任务
②客户端访问服务器的请求和响应在这些过滤器链之间传递
FilterChain接口用于调用过滤器链中的一系列过滤器
Filter过滤器生命周期
实例化: Web应用程 序启动时,Web服务器通过web.xml创建Filter实例
初始化:调用init()方法初始化Filter实例
过滤:客户端提交请求或Web服务器发送响应时,调用doFilter()方法
销毁:停止Web服务器时由容器调用过滤器的destroy()方法销毁实例
●所有的Servlet过滤器都必须实现javax.servlet.Filter接口, 在这个接口内定义了三个定义过滤器类必须
要实现的方法
●init(FilterConfig filterConfig): Servlet过滤器的初始化方法。Servlet容器创建Servlet过滤器实例后将调用这个方
法。在这个方法内可以读取web.xml文件中的Servlet过滤器的初始化参数
●doFilter(ServletRequest request,ServletResponse response,ilterChain chain):这个方法完成实际的过滤器操作。
当客户请求访问与过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter()方法。 FilterChain参数用于访
问后续过滤器
●destroy(): Servlet容器在销毁过滤器前调用该方法, 释放Servlet过滤器占用的内存
开发过滤器的步骤:
●定义的过滤器类implements实现javax.servlet.Filter接口
●重写init()、 doFilter()、 destroy()方法
●在初始化过程中通过init方法的FilterConfig参 数的getInitParameter方法获取web.xml的Filter参数
●在doFilter()方法内定, 义要执行的过滤操作
FilterConfig接口包含以下方法:
getFilterName()
getInitParameter()
getInitParameterNames()
getServletContext()
适用于路径
./当前目录
../ 上级目录
../.../上级目录的上级目录