这个可以看做是顺序执行就可以了进入过滤器后先执行
System.out.println(11111);
然后执行下一个过滤器(如果有的话)或用户的请求操作
chain.doFilter(request, response);
执行完doFilter(request, response) 后顺序的执行 下面的操作
System.out.println(22222);

解决方案 »

  1.   

     过滤器对请求做了两次(对request和response)过滤,其实Filter是对请求中的Request和Response进行了拦截。
    我的意思是说对 request过滤的时候  输出System.out.println(1111); 然后执行chain.doFilter(request, response); 然后才到servlet         然后response返回 过滤器又对resopnse过滤  为啥知道直接执行chain.doFilter(request, response)下面的方法啊  为啥不按照顺序执行  先执行chain.doFilter(request, response)这个行上面的代码  在执行chain.doFilter(request, response)这行下面的代码  这个我不是很明白啊  能在解释下吗
      

  2.   

    过滤器对请求做了两次(对request和response)过滤,其实Filter是对请求中的Request和Response进行了拦截。
    我的意思是说对 request过滤的时候  输出System.out.println(1111); 然后执行chain.doFilter(request, response); 然后才到servlet         然后response返回 过滤器又对resopnse过滤  为啥知道直接执行chain.doFilter(request, response)下面的方法啊  为啥不按照顺序执行  先执行chain.doFilter(request, response)这个行上面的代码  在执行chain.doFilter(request, response)这行下面的代码  这个我不是很明白啊  能在解释下吗