Tomcat其实就是一个servlet的容器,因此,它在运行过程中,首先要做以下事情:

1、实现servlet api规范。如request、response、cookie、session等,容器对其要有一套完整的实现。

2、启动Socket监听端口,等待http请求。

3、获取http请求,分发请求给不同的协议处理器,比如http和https的协议处理器是不同的。

4、封装请求,构造HttpServletRequest,把socket获取的用户字节流请求转换成java对象httpRequest。构造httpResponse。

5、调用servlet,进行init初始化,执行service方法。

6、为httpresponse添加header等头部信息。

7、socket回写流,返回符合http协议的数据给浏览器。

8、JSP实现和渲染引擎。

9、线程池管理,创建线程池,为每个请求分配线程。

最新文章

  1. WinForm与WPF下跨线程调用控件
  2. javascript的对象 和 JSON 对象?
  3. C# 结构体
  4. Linux lsof详解
  5. java多线程下载网络图片
  6. Android 图片的缩略图
  7. Java学习笔记(二)UML基础
  8. CF_Lucky Sum
  9. 对JDBC的优化,BeanUtils和DBUtils
  10. hdu 4552 怪盗基德的挑战书
  11. 如何生成Azure SAS Token
  12. [BC]Four Inages Strategy(三维空间判断正方形)
  13. bzoj2257: [Jsoi2009]瓶子和燃料
  14. pingo--util.go 源码阅读
  15. Get Luffy Out * HDU - 1816(2 - sat 妈的 智障)
  16. day5 range 用法示例
  17. ECS之旅——常用的linux指令
  18. centos7 做rails 执行rails server 报错
  19. linux常用命令:yum 命令
  20. logback.xml 文件

热门文章

  1. hadoop的基础思想
  2. ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job
  3. ES 27 - Elasticsearch脚本的使用实践
  4. QMS 的趨勢概述
  5. 在Docker for Windows中运行GUI程序
  6. python实现RSA加密和签名以及分段加解密的方案
  7. Hello World 之旅
  8. leetcode8 String to Integer
  9. HTML连载34-背景关联和缩写以及插图图片和背景图片的区别
  10. JVM参数配置&&命令工具