Filter,即过滤器
它是一个驻留在服务器端的Web组件,可以截取客户端和资源之间的请求和响应信息,并对这些信息进行过滤。
在一个Web应用程序中,可以部署多个过滤器,这些过滤器组成了一个过滤器链。
在过滤器链中的过滤器依次对请求进行处理,并将请求传递给下一个过滤器,直至目标资源。过滤器并不是必须将请求传送至下一个过滤器或者目标资源,它还可以自行对请求进行处理,然后发送响应给客户端,或者将请求转发至另一个目标资源。
过滤器的作用:
对用户请求进行统一的认证;
对用户发送的数据进行过滤和替换;
转换图像格式。。。
Filter API:
javax.servlet.Filter
开发过滤器需要实现此接口。
void init(FilterConfig filterConfig):用于初始化过滤器。
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain):用于过滤用户的请求和服务器的响应。
void destroy():在该方法中释放过滤器所使用的资源。
javax.servlet.FilterChain
过滤器对象使用FilterChain对象调用过滤器链中的下一个过滤器。
void doFilter(ServletRequest request, ServletResponse response):使过滤器链中的下一个过滤器被调用。
javax.servlet.FilterConfig
用于过滤器初始化时向其传递信息。
getFilterName()
getInitParameter(java.lang.String name)
getInitParameterNames()
getServletContext()