Filter组件(Servlet 过滤器)

1、Filter
1)Servlet过滤器本身并不生成请求和响应对象,它只提供过滤作用。
2)Servlet过滤器能够在Servlet被调用之前检查Request对象,修改RequestHeader和Request内容;
3)在、servlet被调用之后检查Response对象,修改Response Header和Response内容。Servlet过滤器负责过滤的web组件可以是Servelt、jsp、或html文件。

Filter组件(Servlet 过滤器)_第1张图片
过滤过程

2、Filter接口

所有Servlet过滤器都要实现javax.servlet.Filter接口。这个接口含有三个过滤器类必须要实现的方法:
init(filterConfig):servlet过滤器初始化的方法,在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。
doFilter(ServletRequest,ServletResponse,Filter):这个方法完成实际的过来操作。当客户请求访问与过滤器相关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器。一些web组件例如Servlet、jsp、html一般是chain的最后一部分。
destory():Servlet容器在销毁过滤器实例前调用该方法,在这个方法中可以释放Servlet过滤器占用的资源。

需要手动配置web.xml文件

3、当使用配置/*时,有某些url不用被过滤,可以使用以下代码排除。

Filter组件(Servlet 过滤器)_第2张图片
图片.png

你可能感兴趣的:(Filter组件(Servlet 过滤器))