how tomcat works 读书笔记 十一 StandWrapper 下(二)

2015-01-27 06:20:23 · 作者: · 浏览: 24
rows java.io.IOException, ServletException 在ApplicationFilterChain的doFilter方法中,它会将自己作为第三个参数传递给它。 我们看一个Filter实现类的例子 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // do something here ... chain.doFilter(request, response); }循环往复了
此处的循环不是那么容易理解,建议参考鄙人的另一篇博客

http://blog.csdn.net/dlf123321/article/details/40078583


等所有的Filter都执行完了,就是下面的代码

           if ((request instanceof HttpServletRequest) &&
                (response instanceof HttpServletResponse)) {
                servlet.service((HttpServletRequest) request,
                                (HttpServletResponse) response);
            } else {
                servlet.service(request, response);
            }

什么时候Filter才算执行完了呢?

 private Iterator
  
    iterator = null;

....

 if (this.iterator == null)
            this.iterator = filters.iterator();

        // Call the next filter if there is one
        if (this.iterator.hasNext()) {

                    //执行filter

       }
...
      //调用servlet的service的代码块
...

  


应用程序

和之前的几章没有什么区别,不再赘述。