>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>StandardWrapperValve--->Servlet>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
请求转出,都由valve来调用servlet的service方法
[1] 直接转出
StandardWrapperValve
void java.org.apache.catalina.core.StandardWrapperValve.invoke(Request request, Response response) throws IOException, ServletException
--->filterChain.doFilter
------------>servlet.service(request, response); [2] 内部循环再转出
-------->((AsyncContextImpl)request.getAsyncContext()).doInternalDispatch();
----> void java.org.apache.catalina.core.AsyncContextImpl.doInternalDispatch() throws ServletException, IOException
---->
Runnable runnable = dispatch;
dispatch = null;
runnable.run(); ------------->
void java.org.apache.catalina.core.AsyncContextImpl.dispatch(ServletContext context, String path)
---->applicationDispatcher.dispatch(servletRequest, servletResponse); AsyncDispatcher=applicationDispatcher final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher ------>final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher
---------> void java.org.apache.catalina.core.ApplicationDispatcher.doDispatch(ServletRequest request, ServletResponse response) throws ServletException, IOException
-------------> void java.org.apache.catalina.core.ApplicationDispatcher.doDispatch(ServletRequest request, ServletResponse response) throws ServletException, IOException
//Servlet Service Method is called by the FilterChain
----------->void java.org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException
--> void java.org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException
------------>servlet.service(request, response);
最终都是由servlet.service(request, response);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>StandardWrapperValve--->Servlet>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

最新文章

  1. Android仿快递 物流时间轴 的代码实现
  2. Unity使用反射探头实现地面的镜面反射
  3. Sharepoint-Hosted App in 2013资料
  4. windows下AppServ安装php的memcached扩展
  5. Ubuntu下安装php调试工具xdebug
  6. IOS中设置状态栏的状态
  7. c#创建带参数的线程
  8. OpenGL于MFC使用汇总(三)——离屏渲染
  9. 有效的GOCsharpHelper1.0(源代码开放)
  10. Archlinux 的U盘自动装载(一)udisks
  11. SUID SGID
  12. BugkuCTF~代码审计~WriteUp
  13. 弹出的 Dialog 里,包含 Form,如何在关闭 Dialog 时,执行 resetFields(对整个表单进行重置,将所有字段值重置为初始值并移除校验结果)
  14. Contest1593 - 2018-2019赛季多校联合新生训练赛第三场(部分题解)
  15. hdu-1754 I Hate It【线段树】(求区间最大值)
  16. 廖雪峰Java2面向对象编程-3继承和多态-1继承
  17. SqlMapConfig.xml全局配置文件介绍——(四)
  18. UIFont字体大全
  19. sublime插件安装及常用插件配置
  20. Backbone学习笔记 - Model篇

热门文章

  1. caioj 1153 扩展欧几里德算法(解不定方程)
  2. 紫书 习题 11-9 UVa 12549 (二分图最小点覆盖)
  3. 洛谷—— P2904 [USACO08MAR]跨河River Crossing
  4. 一个leetcode解题报告类目,代码很简洁
  5. _stat函数/struct stat 结构体使用笔记
  6. JBOSS部署项目之后,无法通过IP地址訪问,仅仅能通过localhost或者127.0.0.1訪问
  7. 从Oracle Database 角度来看浪潮天梭K1主机的操作系统选择
  8. m_Orchestrate learning system---二十五、复制类的时候最容易出现的错误是什么
  9. spark 针对决策树进行交叉验证
  10. [POJ2728] Desert King 解题报告(最优比率生成树)