Tomcat整体结构(一)——连接器和容器
来源:互联网 发布:linux vim 复制一行 编辑:程序博客网 时间:2024/05/21 09:42
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应用程序,基础阀使用一个映射器来查找一个自容器,由子容器负责处理接受到的请求
阅读全文
0 0
- Tomcat整体结构(一)——连接器和容器
- Java容器-整体结构
- 蚂蚁前行系列(一):Tomcat整体结构和基础概念
- 深入剖析tomcat读书笔记——连接器
- How tomcat works——3 连接器
- Reids源码分析(一)——整体结构分析
- Spring源码阅读(一)——整体结构
- How tomcat works——4 Tomcat中默认连接器
- 连接器与容器的桥梁——CoyoteAdapter
- tomcat和apache连接器mod_jk (tomcat connectors)
- tomcat和apache连接器mod_jk (Tomcat Connectors)
- Tomcat 7.0.50 Coyote 连接器类结构和架构设计简析
- LeiQ手把手带你搭博客(一)——整体结构及VPS和域名的购买与解析
- Tomcat 7 HTTP 连接器(一)
- Tomcat原理学习---连接器Connector(一)
- tomcat系列之整体结构
- 初探Tomcat源码 (4) —— Catalina容器结构
- tomcat连接器
- 随笔:linux中正则表达式BRE模式下的特殊匹配字符
- Java Web 过滤器和拦截器
- 红黑树
- 1129. Recommendation System (25)[set集合-排序]
- 表哥的Access入门++以Excel视角快速学习数据库知识pdf
- Tomcat整体结构(一)——连接器和容器
- SQL必知必会 第4版pdf
- 人生转折点
- Java连接MySQl数据库(JDBC)
- 5个实用的js技巧
- SQL Server从入门到精通pdf
- 快速排序(算法导论)
- mysql基本命令(最简)
- 库函数实现文件复制