We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
目前的责任链开启的方式是
@Override public void start(MTRequest request, MTResponse response) { FilterNode traveler = head.getNext(); try { while (traveler != null && traveler.exec(request, response)) { traveler=traveler.next; } targetServlet.service(request,response); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } }
这里实现的启动 责任链 并不是 Tomcat 中的实现模式,
Tomcat
从方法栈角度来看,这里是来一个方法,执行完,然后出栈,执行下一个。
而Tomcat 中
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("filter before"); chain.doFilter(request, response); System.out.println("filter after");
他是 以 chain.doFilter(request, response); 请求过来执行这句代码上方的代码 请求返回的时候去执行这句代码下方的代码
chain.doFilter(request, response);
从方法栈角度来看,方法栈是没有出栈的,类似递归,最后递归回来。
todo 这里迭代修改实现模式
The text was updated successfully, but these errors were encountered:
Fixed cybertheye#5
c56e437
通过成员变量实现逐个Filter访问
Merge pull request #40 from Terrdi/dev
2fb8591
close #5
cybertheye
No branches or pull requests
目前的责任链开启的方式是
这里实现的启动 责任链 并不是
Tomcat
中的实现模式,从方法栈角度来看,这里是来一个方法,执行完,然后出栈,执行下一个。
而
Tomcat
中他是 以
chain.doFilter(request, response);
请求过来执行这句代码上方的代码请求返回的时候去执行这句代码下方的代码
从方法栈角度来看,方法栈是没有出栈的,类似递归,最后递归回来。
todo 这里迭代修改实现模式
The text was updated successfully, but these errors were encountered: