Tomcat请求处理(四) -- Request, Response, 和Pipeline
来源:互联网 发布:新浪微博客户端mac版 编辑:程序博客网 时间:2024/06/07 03:41
1. Request和Response
当处理请求的时候,Tomcat使用org.apache.coyote.Request和org.apache.coyote.Response对象来封装对Socket的数据处理,就好像它们是输入流和输出流一样。
Request和Response是low-level的,并不是用于在开发中使用的,所以,Tomcat使用了适配器模式定义了两个类org.apache.catalina.connector.Request和org.apache.catalina.connector.Response来对前面的low-level对象进行封装,并且扩展了HttpServletRequest和HttpServletResponse接口,实现了Servelt规范。
2. Pipeline和Valve(不是half-life那个)
Tomcat有四个级别的容器,在server.xml中出现了出现过3个,Engine,Host,Context。另外一个是Wrapper,是对Servlet,JSP或者静态资源调用的一种封装,是最后一层容器了。Tomcat使用Pipeline模式在各层容器间传递请求,将请求通过管道依次通过Engine,Host,Context和Wrapper。另外,每一个容器都可以设置一系列的Valve去对请求进行拦截,就像管道中的阀一样对请求的行为进行一些干涉。
当处理请求的时候,Tomcat使用org.apache.coyote.Request和org.apache.coyote.Response对象来封装对Socket的数据处理,就好像它们是输入流和输出流一样。
Request和Response是low-level的,并不是用于在开发中使用的,所以,Tomcat使用了适配器模式定义了两个类org.apache.catalina.connector.Request和org.apache.catalina.connector.Response来对前面的low-level对象进行封装,并且扩展了HttpServletRequest和HttpServletResponse接口,实现了Servelt规范。
2. Pipeline和Valve(不是half-life那个)
Tomcat有四个级别的容器,在server.xml中出现了出现过3个,Engine,Host,Context。另外一个是Wrapper,是对Servlet,JSP或者静态资源调用的一种封装,是最后一层容器了。Tomcat使用Pipeline模式在各层容器间传递请求,将请求通过管道依次通过Engine,Host,Context和Wrapper。另外,每一个容器都可以设置一系列的Valve去对请求进行拦截,就像管道中的阀一样对请求的行为进行一些干涉。
0 0
- Tomcat请求处理(四) -- Request, Response, 和Pipeline
- Tomcat处理Http请求和Pipeline机制
- Tomcat Request和Response处理流程
- Tomcat源码分析(四)------ Request和Response处理的全过程
- Tomcat源码分析(四)------ Request和Response处理的全过程
- Tomcat源码分析(四)------ Request和Response处理的全过程
- Tomcat源码分析(四)------ Request和Response处理的全过程 .
- Tomcat源码分析(四)------ Request和Response处理的全过程
- 请求和响应response&request
- JavaEE:response响应和request请求
- 请求转发(request)和重定向(response)
- JavaEE:response响应和request请求
- 请教:tomcat 生成 session 、 request 和 response
- 自己的web服务器项目-request请求和response响应处理(一)
- [Tomcat6.0源码]请求的处理四Pipeline、Valve、FilterChain
- Tomcat架构详解(三) Request和Response处理的全过程
- Tomcat源码分析(三)------ Request和Response处理的全过程
- servlet处理request和response中文乱码
- Nuke python脚本开发 01
- 数字图像处理-图像灰度变换
- android中throw和throws的区别
- google admob 广告插件添加[android]
- Android实现XML解析技术
- Tomcat请求处理(四) -- Request, Response, 和Pipeline
- MySQL云数据库服务的架构探索
- iOS-CoreData-Magical Record入门教程
- how to write a configure script in linux
- Caused by: java.lang.IllegalArgumentException: Cannot subclass final class class $Proxy8
- python字符串和变量相加时出现,coercing to unicode need string or buffer nonetype found python 错误的解决
- FileReader FileWriter 源码分析
- 去除字符串中的数字
- 什么是SICL,什么是VISA