java—拦截器Filter
AFilter拦截器:
第一层拦截,A拦截访问Servlet的请求
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18@WebFilter("/as") public class AFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("A出生了"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("A进来了"); filterChain.doFilter(servletRequest,servletResponse);//放行,执行过滤器链中的下一个过滤器,如果没有下一个过滤器,则放行 System.out.println("A结束拦截"); } @Override public void destroy() { System.out.println("A销毁了"); } }
Servlet代码:
复制代码
1
2
3
4
5
6
7
8
9@WebServlet("/as") public class AServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("AServlet进来了"); //转发到 user.jsprequest.getRequestDispatcher("/users/user.jsp").forward(request,response); } }
BFilter拦截器
第二层拦截,B拦截,servlet转发到jsp的过程
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16@WebFilter(value = "/users/user.jsp" , dispatcherTypes = DispatcherType.FORWARD) public class BFilter implements Filter { public void destroy() { System.out.println("B出生了"); } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { System.out.println("B进来了"); chain.doFilter(req, resp); System.out.println("B结束拦截"); } public void init(FilterConfig config) throws ServletException { System.out.println("B销毁了"); } }
最后
以上就是阳光心锁最近收集整理的关于java---拦截器Filterjava—拦截器Filter的全部内容,更多相关java---拦截器Filterjava—拦截器Filter内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复