假设来自客户的请求为:
http://localhost:8080/dj/index.jsp
Connector把url交给service的Engine,Engine匹配Host,host获得请求,匹配Context
1.请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
2..Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应
3.Engine获得请求/localhost:8080/dj/index.jsp,匹配他所拥有的所有虚拟主机Host
4.Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
5.localhost Host获得请求/dj/index.jsp,匹配它所拥有的所有Context
6.Host匹配到路径为/dj的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理
7.path=“/dj”的Context获得请求/inde.jsp在他的mapping table中寻找对应的servlet
8.Context匹配到URL PATTERN为*.jsp的servlet,对应JspServlet类
9.构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet和doPost方法
10.context把执行完之后的HttpServletResponse对象返回给Host
11.Host把HttpServletResponse对象返回给Engine
12.Engine把HttpServletResponse对象返回给Connector
13Connector把HttpServletResponse对象返回给客户brower