与过滤器开发相关的接口与类都旱灾javax.servlet和javax.servlet.http包中,
javax.servlet.Filter接口
javax.servlet.FilterChain接口
javax.servlet.FilterConfig接口
javax.servlet.ServletRequestWrapper类
javax.servlet.ServletResponseWrapper类
javax.servlet.http.HttpRequestWrapper类
javax.servlet.http.HttpServletResponseWrapper类
Filter接口
与开发servlet要实现javax.servlet.Servlet接口类似,开发过滤器要实现javax.servletFilter接口
在Filter接口中,定义了下面三个方法
public void init(FilterConfig filterConfig)throws ServletException
Web容器调用该容器来初始化过滤器,FilterConfig的用法和ServletConfig类似。利用FilterConfig对象 可以得到ServletContext对象,
以及在描述符中配置的过滤器的初始化 参数。在这个容器中可以跑出ServletException异常,通知容器该过滤器不能正常工作
public void doFilterServletRequest(servletRequest, ServletResponse response, FilterChain chain) throws
java.io.IOException, ServletException
doFilter()方法,类似于Servlet接口的方法,.
该方法可以对请求和响应进行处理,实现过滤气的特定功能,在特定的功能完成后,可以调用chain.doFilter(request, response)将
请求传给下一个过滤器或目标资源,也可以直接向用户端返回响应信息,或者利用RequestDispatcher的forward()和include方法,以及
HttpServletResponse的sendRedirect()方法将请求转向其他资源。需要注意的是这个方法的请求和响应参数的类型是ServletRequest
和ServletResponse,也就是说,过滤器的使用并不依赖于具体的协议
pubic void destroy(
Web容器待用该方法知识过滤器生命周期结束。释放过滤器使用的资源