博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat运行web程序过程及server.xml配置
阅读量:6761 次
发布时间:2019-06-26

本文共 1361 字,大约阅读时间需要 4 分钟。

在座各位老铁程序开发多年,想必Tomcat一直是都是你们的必用猫吧,在项目中配一下Tomcat,copy一份server.xml覆盖进来,就可以轻松愉快的把项目跑起来了。

但是.....

你们有没有想过Tomcat是怎么运行你们充满bug的程序的呢?server.xml里的这些垃圾配置又是什么用的呢?

下面,我附上一份花费多日呕心沥血制作而成的server.xml配置详解,费大家脑壳和钛合金眼睛仔细看看:

复制代码

通过研究上面的配置和注释,想必大家已经对这个配置的讲解理解的一塌糊涂了吧?因为密密麻麻花里胡哨的代码和汉字混杂在一起,看起来就像脑壳撞墙冒星星一样难受。

好吧,我们根据真实场景分析一下从用户在浏览器输入网址发请求到最终返回结果展示到网站这一个过程在客户端浏览器、提供web程序的服务器、Tomcat、web程序分别在哪个步骤做了什么骚操作:

  • 1、用户在浏览器输出网站:http://www.xxx.com/customer/index.html
  • 2、浏览器解析出域名www.xxx.com并且去请求DNS服务器,通过DNS获取相应的域名对应的IP和端口如(123.1.1.1:8099)
  • 3、通过IP地址找到IP对应的服务器后,要求建立TCP连接
  • 4、通讯双方连接之后,请求被发送到服务器端口8099
  • 5、该端口是Tomcat中的server.xml的Connector配置port,所以此时请求被相应的Connector接收到
  • 6、Connector把请求分配到它里边的Engine组件,由它来处理,并且等待其响应
  • 7、Engine收到请求之后,根据请求路径匹配到相应的host,交给host处理
  • 8、host匹配相对路径/customer/index.html,找到相应的context
  • 9、匹配到相应context后,根据路径访问相应的servlet
  • 10、根据请求构造HttpServletRequest对象和HttpServletResponse对象,并调用Servlet的doGet或doPost方法
  • 11、servlet中处理逻辑之后,把HttpServletResponse对象返回给Host
  • 12、host把HttpServletResponse逐级传递到Engine、Connector
  • 13、最终把响应结果返回到客户端的浏览器
  • 14、浏览器把结果渲染呈现

至此,一个完整的http请求完成。结合这个流程再看上面的server.xml配置,应该是一点即通了吧。

觉得本文对你有帮助?请分享给更多人

关注「编程无界」,提升装逼技能

转载地址:http://otbeo.baihongyu.com/

你可能感兴趣的文章
VB 设置循环,以及弹出messageBox
查看>>
linux清理内存
查看>>
得到一个范围的随机数函数
查看>>
经典算法-链表(golang)
查看>>
leetcode — search-a-2d-matrix
查看>>
魔板 bfs() 预处理,记录每种状态。然后状态置换,(重点要用到全排列的hash记录状态)...
查看>>
构建之法课后作业第一次作业(15个题选一个)
查看>>
操作redis方法
查看>>
C语言函数
查看>>
Python3-异常处理
查看>>
Python-简单打印进度条
查看>>
【02】天气查询应用(第二课)
查看>>
监听微信返回按钮
查看>>
第二次实验报告
查看>>
HDU ACM 3790 最短路径问题
查看>>
python生成器
查看>>
linux 安装 ftp
查看>>
python 监控FTP目录下的文件个数
查看>>
MapInfo格式转arggis格式
查看>>
Network - SSL/TLS的基本概念
查看>>