过滤器的流程以及实现

过滤器链的执行顺序:

 

 

 代码展示:

 1 //一定要实现javax.servlet.Filter这个接口
 2 //导入这个包:import javax.servlet.*;
 3 
 4 //urlPatterns = "/*"  过滤所有的资源
 5 //@WebFilter 说明我们这个是个过滤器
 6 //按照全类名的字典表来比较过滤器执行的顺序
 7 @WebFilter(filterName = "FirstFilter",urlPatterns = "/*")
 8 public class FirstFilter implements Filter {
 9 
10     //初始化的方法
11     @Override
12     public void init(FilterConfig filterConfig) throws ServletException {
13 
14     }
15 
16     //真正实现过滤的功能:doFilter
17     @Override
18     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
19 
20         //所有的请求都有向下类型转换一下,因为我们的所有请求都是HTTP请求
21         //一般要用到request的时候才转,不用的时候就不转
22         HttpServletRequest request=(HttpServletRequest)servletRequest;
23         HttpServletResponse response=(HttpServletResponse)servletResponse;
24 
25         System.out.println("FirstFilter 之前。。。。");
26 
27         //执行下一个过滤器或者资源
28         filterChain.doFilter(request,response);
29 
30         System.out.println("FirstFilter 之后+++++++++");
31 
32     }
33 
34     //销毁的方法
35     @Override
36     public void destroy() {
37 
38     }
39 }

 

 

 结果:

 

 

posted on 2020-04-15 21:12  代码吴彦祖  阅读(892)  评论(0编辑  收藏  举报