对于Web应用程序来说,过滤器是处于Web 容器内的,对请求信息和响应信息进行过滤的一种组件。
作用:可以在不侵入原有代码的基础上为它们提供一些功能。
过滤器类要实现javax.servlet.Filter接口,该接口的 doFilter()方法为业务处理的核心代码区。
参数列表中有一个FilterChain接口的实现对象,它只有一个方法:doFilter().在调用该方法前,
代码会在到达目标资源前执行。
之后的代码会在目标资源响应后执行。
代码:
//过滤器需要实现Filter接口
public class MyFilter implements Filter{
//过滤器的业务逻辑方法
public void doFilter(ServletRequest request, ServletRequest response, FilterChain chain)
throws IOException, ServletException{
//达到目标资源前的代码
……
//该方法的调用会将请求转发给下一个过滤器或目标资源
chain.doFilter(request, response);
//目标资源响应后的代码
……
}