具体资源拦截:
/index.jsp 只有访问/index.jsp资源时, 过滤器才会被执行
@WebFilter("/index.jsp")public class FilterDemo4 implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println("filterDemo4...");chain.doFilter(req, resp);}public void init(FilterConfig config) throws ServletException {}}
index.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>$Title$</title></head><body>index.jsp....<%System.out.println("index.jsp...");%></body></html>
hello.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Title</title></head><body>hello.jsp...</body></html>
分别访问index.jsp和hello.jsp , 只有访问index.jsp时才会被执行, 访问hello.jsp时不会被执行
目录拦截
/user/* 访问/user下的所有资源时, 过滤器都会被执行
FilterDemo4
@WebFilter("/user/*")public class FilterDemo4 implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println("filterDemo4...");chain.doFilter(req, resp);}public void init(FilterConfig config) throws ServletException {}}
ServletDemo1
@WebServlet("/user/findAllServlet")public class ServletDemo1 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("findAllServlet....");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}}
ServletDemo2
@WebServlet("/user/updateServlet")public class ServletDemo2 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("updateServlet....");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}}
后缀名拦截:
*.jsp 访问所有后缀名为jsp资源时过滤器都会被执行
@WebServlet("/user/findAllServlet")public class ServletDemo1 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("findAllServlet....");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}}
拦截所有资源:
/* 访问所有资源时, 过滤器都会被执行
@WebFilter("/*")public class FilterDemo4 implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println("filterDemo4...");chain.doFilter(req, resp);}public void init(FilterConfig config) throws ServletException {}}