Filter对用户请求进行预处理,接着将请求交给Servlet进行预处理并生成响应,最后Filter再对服务器响应进行后处理。
在web.xml中的配置为;
<filter>
<filter-name>XXXFilter</filter-name>
<filter-class>
com.web.util.XXXFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXFilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>
<filter>
filter拦截filter-mapping配置的路径
新建Filter类public class TestFilter implements Filter {
@Override
public void destroy() {
System.out.println("============= Filter desctory! =============");
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
System.out.println("============= Filter doFilter! =============");
<span style="white-space:pre"></span>
// if(examUser!=null){// chain.doFilter(request,response); //如果没有重定向到别的页面,要执行这个方法,若没有执行这个方法,就不会执行下一步
// }else{
// resp.sendRedirect(req.getContextPath()+"/login"); //重定向到 req.getContextPath()+"/login" 页面
// }
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
}
@Override
public void init(FilterConfig arg0) throws ServletException {
System.out.println("============= Filter init! =============");
}
}