tomcat如何支持web应用引发的思考

此文属于基于现有工作经验的一个思考 ,纯属YY设想,无实际源码实现参考依据

思考命题
tomcat是如何支持一个web系统启动并且正常提供服务的

现状
我们开发一个web系统,然后部署到tomcat容器中,就可以正常提供服务了,比如Hellow Word
我们访问http://localhost:80/ 就可以看到了,这就是一个最简单的web服务

思考
1、不管是从系统日志还是从访问地址上看,我们都能看到一个端口号的概念,那我们首先应该可以知道,web容器提供服务,必须需要先使用IO服务占用一个系统进程监听一个活跃端口,占用了端口就可以基于此端口做交互了
2、从端口接受到客户数据,那必然要有的就是协议转换了,解析协议数据转成对象
3、tomcat 都有server.xml这个文件,我们看内容可以很直观的清楚 这是容器的一些内置配置信息,可以根据用户需求调整。
4、tomcat部署的应用都是一个war包 内部都有WEB-INF\web.xml 我们很明显可以看到的就是servlet的标签配置 ,根据配置的一个servlet对呀的路径不同来处理不同的请求分发到那个服务上。这就是请求的分发策略控制。
5、分发之后,理论上就是我们的处理逻辑了,处理完之后就直接返回出去就行了。

抽象
1、启动进程占用端口开始监听信息
2、协议转换 将网络传输数据转换成系统认的数据
3、请求路由,根据路由策略,适配对应的处理引擎
4、执行完成后返回数据
5、各种配置和插件扩展支撑
如上四步大致可以完成服务支持。具体事项我们可以基于不同的点展开即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章