Tomcat源码分析(四)------ Request和Response处理的全过程 .
2013-06-19 12:39
253 查看
从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpServletRequest和HttpServletResponse,只不过每个环节完成的包装功能和部分不一样而已,信息流如下图所示:
其中,Request与Response的类图如下所示:
org.apache.coyote.Request和org.apache.coyote.Response是Tomcat内部使用的,不提供给开发者调用,类是final类型的。下面结合一次完整请求的时序图来看看从Socket到org.apache.catalina.connector.Request的加工过程:
由上图可见,Request的解析和加工过程不是在一个方法里搞定,而是信息流动过程中逐步解析的,不同层次的处理器解析不同层次的信息,在解析过程同时做了些判断和拦截的工作,比如当发现是要访问WEB-INF的资源,会直接返回错误给客户端等等。
其中,Request与Response的类图如下所示:
org.apache.coyote.Request和org.apache.coyote.Response是Tomcat内部使用的,不提供给开发者调用,类是final类型的。下面结合一次完整请求的时序图来看看从Socket到org.apache.catalina.connector.Request的加工过程:
由上图可见,Request的解析和加工过程不是在一个方法里搞定,而是信息流动过程中逐步解析的,不同层次的处理器解析不同层次的信息,在解析过程同时做了些判断和拦截的工作,比如当发现是要访问WEB-INF的资源,会直接返回错误给客户端等等。
相关文章推荐
- Tomcat源码分析(三)------ Request和Response处理的全过程
- Tomcat源码分析之四_Request和Response处理的全过程
- Tomcat源码分析(四)------ Request和Response处理的全过程
- Tomcat源码分析(四)------ Request和Response处理的全过程
- Tomcat 源码分析(二)——Request处理全过程
- tomcat源码分析 JIoEndpoint SocketProcessor处理过程
- Tomcat处理HTTP请求源码分析--包含jsp内置对象的实例过程
- Tomcat处理HTTP请求源码分析--包含jsp内置对象的实例过程
- Tomcat架构详解(三) Request和Response处理的全过程
- (四)Tomcat源码解析 - 一次request与response的过程
- tomcat6源码分析三(请求处理过程)
- Tomcat源码分析(四)------ Request和Response处理的全过程
- 分析balde源码,查看Web工程处理Ioc注入的背后的过程,ThreadLocal 使用保存线程所有的request and respond,
- Tomcat源码分析(四)------ Request和Response处理的全过程
- tomcat6源码分析三(请求处理过程)
- Tomcat Request和Response处理流程
- Tomcat请求处理过程(Tomcat源码解析五)
- Tomcat源码分析(二)请求过程分析
- Tomcat处理HTTP请求源码分析(下)
- Tomcat源码分析(五)--容器处理连接之servlet的映射