zoukankan      html  css  js  c++  java
  • tomcat源码阅读之StandardWrapper解析

    一、UML图:

    1、Tomcat中Wrapper代表一个独立的servlet实例,StandardWrapper类是Wrapper接口的标准实现类,StandardWrapper类还实现了SelvletConfig接口,同时其从ContainerBase类继承过来,表示他是一个容器,只是他是最底层的容器,不能再含有任何的子容器了,且其父容器只能是context;

    2、Valve接口代表阀门实现,StandardWrapperValve作为StandardWrapper的Basic Valve阀门的标准实现类,从ValveBase类继承过来;

    3、StandardWrapper有一个管道Pipeline实例,pipeline中有一个Basic Valve阀门,就是StandardWrapperValve类的实例;

    二、调用流程:

    1、从上图的流程可以看到Wrapper.invoke方法会调用pipeline.invoke方法,pipeline.invoke循环调用管道里面所有的valve阀门,最后再调用Basic Valve阀门,而Wrapper的Basic Valve阀门是StandardWrapperValve类的实现;

    2、StandardWrapper类中最重要的两个方法是allocate和loadServlet,实现流程如下:

    3、StandardWrapperValve的invoke方法实现流程如下:

  • 相关阅读:
    Catalan数
    完全背包
    日期问题
    01背包
    NOJ2076
    858. Prim算法求最小生成树
    839. 模拟堆
    850. Dijkstra求最短路 II
    849. Dijkstra求最短路 I
    859. Kruskal算法求最小生成树
  • 原文地址:https://www.cnblogs.com/laoxia/p/7999624.html
Copyright © 2011-2022 走看看