具体过程如下:
1.连接器创建request和response对象;
2.连接器调用 StandarContext实例的invoke()方法;
3.接着,StandarContext实例的invoke()方法调用其他管道对象的invoke()方法。StandardContext中管道对象的基础阀是StandardContextValve实例,因此,StandardContext的管道对象会调用StandardContextValve实例的invoke()方法;
4.StandardContextValve实例的invoke()方法获取相应的Wrapper实例处理Http请求,调用Wrapper实例的invoke()方法;
5.StandardWraper是Wrapper接口的标准实现,StandardWraper实例的invoke()方法会调用其管道对象的invoke()方法;
6.StandardWraper的管道对象中的基础阀是StandardWraperValve实例,因此,会调用StandardWraperValve的invoke()方法,StandardWraperValve的invoke()方法调用warpper实例的allocate()方法获取Servlet实例;
7.allocate()方法调用load()方法载入相应的Servlet类,若已经载入,则无需重复载入;
8.load()方法调用Servlet实例的init()方法;
9.获取过滤器链,并遍历处理;
10.StandardWrapperValve调用Servlet实例的Servlet的service()方法。