场景:用户登陆,权限控制(前后端不分离场景)等
1、创建MyFilter过滤器,实现Filter接口。拦截器使用WebFilter注解标记(Servlet3新特性)
@WebFilter(urlPatterns = "/*", filterName = "myFilter")
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.printf("MyFilter init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
String name = request.getParameter("name");
if ("Jack".equals(name)) {
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("doFilter");
} else {
System.out.println("do not filter");
}
}
@Override
public void destroy() {
System.out.println("MyFilter destroy");
}
}
2、启动类加注解@ServletComponentScan,扫描过滤器