Tomcat整体结构(一)——连接器和容器
2017-06-03 23:17
330 查看
tomcat的心脏是连接器和容器
Connector
连接器等待http请求,创建request和response对象,调用容器的invoke方法,将对象传给servlet容器,servlet容器加载servlet类,调用其service方法,管理session,处理错误信息
工作流程主要创建服务器套接字监听端口,然后创建连接,转至处理线程,创建request和response对象,
Container
管道任务机制
它说明了servlet容器invoke后会发生什么事,管道是servlet容器将要执行的一系列任务,阀指具体的一个任务,类似于拦截连和拦截器,servlet容器的invoke交由管道完成
public void invoke(Resquest request,Response response)
{
Pipeline.invoke(request,response);
}管道遍历执行阀,tomcat使用另外的机制实现遍历,即实现一个pipeline的内部类valveContext类,该类可以访问管道的所有阀,通过invokeNext方法实现遍历
public void invokeNext(request,response)
{
int age = 0;
age = age+1;
if(age < valva.length)
{
valva[age].invoke(request,response)
}
else if(age == valva.length)
{
basic.invoke(request,response)
}
else{system.out.print(“ No valva")}
}
每个valva调用valvaContext,valva的参数变为invoke(request,response,valvaContext)
public invoke(request,response,valvaContext)
{
//...
valvaContext.invokeNext(request,response,this)
}
Wrapper容器
Wrapper容器表示一个servlet定义,是最底层的servlet容器,它需要负责servlet类的生命周期,即servlet的init、service、destory方法,它核心方法是load(载入并初始化一个servlet),allocate(分配一个初始化的实例)
容器通过一系列方法能够方便的接入各种组件比如载入器、阀等
一个简单的Wrapper应用程序
1、创建连接器
2、创建容器,指定servletname
3、创建载入器和阀
4、容器设置载入器和阀
5、将容器实例设置为连接器的servlet容器,初始化并启动连接器
Context容器
是一个web应用程序,基础阀使用一个映射器来查找一个自容器,由子容器负责处理接受到的请求
Connector
连接器等待http请求,创建request和response对象,调用容器的invoke方法,将对象传给servlet容器,servlet容器加载servlet类,调用其service方法,管理session,处理错误信息
工作流程主要创建服务器套接字监听端口,然后创建连接,转至处理线程,创建request和response对象,
Container
管道任务机制
它说明了servlet容器invoke后会发生什么事,管道是servlet容器将要执行的一系列任务,阀指具体的一个任务,类似于拦截连和拦截器,servlet容器的invoke交由管道完成
public void invoke(Resquest request,Response response)
{
Pipeline.invoke(request,response);
}管道遍历执行阀,tomcat使用另外的机制实现遍历,即实现一个pipeline的内部类valveContext类,该类可以访问管道的所有阀,通过invokeNext方法实现遍历
public void invokeNext(request,response)
{
int age = 0;
age = age+1;
if(age < valva.length)
{
valva[age].invoke(request,response)
}
else if(age == valva.length)
{
basic.invoke(request,response)
}
else{system.out.print(“ No valva")}
}
每个valva调用valvaContext,valva的参数变为invoke(request,response,valvaContext)
public invoke(request,response,valvaContext)
{
//...
valvaContext.invokeNext(request,response,this)
}
Wrapper容器
Wrapper容器表示一个servlet定义,是最底层的servlet容器,它需要负责servlet类的生命周期,即servlet的init、service、destory方法,它核心方法是load(载入并初始化一个servlet),allocate(分配一个初始化的实例)
容器通过一系列方法能够方便的接入各种组件比如载入器、阀等
一个简单的Wrapper应用程序
1、创建连接器
2、创建容器,指定servletname
3、创建载入器和阀
4、容器设置载入器和阀
5、将容器实例设置为连接器的servlet容器,初始化并启动连接器
Context容器
是一个web应用程序,基础阀使用一个映射器来查找一个自容器,由子容器负责处理接受到的请求
相关文章推荐
- Tomcat源码分析之—容器整体结构
- Tomcat源码分析(三)--连接器是如何与容器关联的?转载
- [笔记]深入剖析Tomcat-tomcat的默认连接器,servlet容器
- 浅谈Tomcat之Tomcat整体结构
- Tomcat源码分析(三)--连接器是如何与容器关联的?
- tomcat整体结构及组件介绍
- 蚂蚁前行系列(一):Tomcat整体结构和基础概念
- 初探Tomcat源码 (4) —— Catalina容器结构
- Tomcat结构介绍,server.xml配置详解,连接器并发,乱码解决,虚拟主机配置,项目部署方式。
- Tomcat源码分析(三)--连接器是如何与容器关联的?
- Tomcat配置-学习笔记1---核心配合文件server.xml整体结构
- 探秘Tomcat——连接器和容器的优雅启动
- [笔记]深入剖析Tomcat-servlet容器和连接器
- Tomcat容器结构及Pipeline机制
- Tomcat源码分析(三)--连接器是如何与容器关联的?
- Tomcat6整体结构
- Servlet容器原型(三)——Tomcat 4默认连接器浅谈
- Tomcat源码分析(三)--连接器是如何与容器关联的?
- Tomcat容器结构及Pipeline机制 -我们到底能走多远系列(13)
- tomcat系列之整体结构