前言
Java开发也有很长时间,突然想tomcat到底做了什么,就让一个web项目可以通过一个路径去访
问;我想这个问题,应该有好多java程序员也没想过,可以在留下你们想知道的问题,我来带着
你们的问题,去tomcat源码找答案;有想过的可以在对此片文章批评指正;
tomcat整体架构
细节说明
- tomcat:javaweb的应用服务器,简单的理解就是服务发布的一个容器,对我们输入的请求进行转发、路径和参数解析、逻辑处理后响应;
- server:是tomcat最顶层的一个组件,可以认为是一个运行实例的抽象,一个jvm上只能有一个server,一个server大概有三部分组成,分别如下;
- GlobalNamingResource:该组件即成了jndi连接,用于连接数据库,直接进行数据读取;
- Listener组件:主要是在server的初始化、启动、停止、销毁的前中后处理感兴趣的事,主要有6个;它实现了lifecyclelistener接口,在lifecycleEvent中处理事情;
- service组件:此部分是tomcat的核心组件,是请求接收到处理完成的所有组件的集合,主要由若干个connector和container组件组成,
- connector:服务端处理客户端连接的组件;接收客户端连接、消息报文并解析报文;
- container:负责客户端请求的逻辑处理,并返回结果至客户端。
总结
以上只是简单的说了下,tomcat的架构以及各部分所起的作用做了一个综述,之后会介绍每个组件的详细功用。