Tomcat中处理request请求的3种servlet

在Tomcat中处理请求分为3种

1、静态资源请求 

      比如html,css或image这样的静态资源 就由Tomcat中的DefalutServlet 处理

2、jsp请求 

      比如index.jsp 这样的请求 就由Tomcat中的JspServlert处理

3、其他请求

      比如移动端请求getInfo.do这样的api时 就由具体的Servlet处理  

      如果是springmvc 就由DispatcherServlet处理

 

再来分析 比如像student/userInfo.do这样的PC端请求该如何返回userInfo.jsp界面呢

首先由DispatcherServlet处理  处理好之后 由springmvc中配置的InternalResourceViewResolver处理 得到 userInfo.jsp 并将请求转发,转发后由于我们的DispatcherServlet没有处理.jsp这样请求的Handel 所以就由JspServlert处理了,而转发只是服务端将request的处理权转交给另外一个Servlet 因此其中的request对象是同一个  所以刚好可以在DispatcherServlet中数据存到request中 ,然后在jsp界面 用jstl  和 el表达式将数据体现在界面上

再看Tomcat官网对tomcat的解释

Tomcat是对servlet、 jsp、el 等技术的开源实现  而DefalutServlet JspServlert 就是具体的实现之一

Tomcat中处理request请求的3种servlet