[应用服务器]掌握Tomcat应用服务器只需一分钟
副标题[/!--empirenews.page--]
No.1 搭建环境 1.1、下载tomcat源码 进入tomcat官网:https://tomcat.apache.org/ 下载对应版本的源码 1.2、导入Eclipse
No.2 Tomcat顶层结构 上图大概展示了tomcat的结构,主要包括如下几个模块:
服务器的意思,代表整个tomcat服务器,一个tomcat只有一个Server;
Server中的一个逻辑功能层,一个Server可以包含多个Service;
称作连接器,是Service的核心组件之一,一个Service可以有多个Connector,主要是连接客户端请求;
Service的另一个核心组件,按照层级有Engine,Host,Context,Wrapper四种,一个Service只有一个Engine,其主要作用是执行业务逻辑;
JSP引擎;
会话管理; No.3 Server Server是Tomcat最顶层的容器,代表着整个服务器,即一个Tomcat只有一个Server,Server中包含至少一个Service组件,用于提供具体服务。 这个在配置文件中也得到很好的体现(port=”8005” shutdown=”SHUTDOWN”是在8005端口监听到”SHUTDOWN”命令,服务器就会停止)。 tomcat中定义了一个Server接口,其声明如下:
它继承了Lifecycle接口,这样当调用start()和stop()方法时,所有已定义的Services也会启动或停止。
No.4 Service 前面我们讲过,一个Server至少包含一个Service组件来提供具体的服务。 那Service的基本功能大致是接收客户端的请求,然后解析请求,完成相应的业务逻辑,然后把处理后的结果返回给客户端。 一般会提供两个节本方法,一个start打开服务Socket连接,监听服务端口,一个stop停止服务释放网络资源。 tomcat中定义一个Service接口,其声明如下:
一个Server可以包含多个Service(它们相互独立,只是公用一个JVM及类库),一个Service负责维护多个Connector和一个Container。 No.5 Connector Connector是连接器,用于接受请求并将请求封装成Request和Response,然后交给Container进行处理,Container处理完之后在交给Connector返回给客户端。 server.xml默认配置了两个Connector:
Connector在tomcat中的设计大致如下:
Endpoint由于是处理底层的Socket网络连接,因此Endpoint是用来实现TCP/IP协议的 Processor用于将Endpoint接收到的Socket封装成Request,Processor用来实现HTTP协议的 Adapter充当适配器,用于将Request转换为ServletRequest交给Container进行具体的处理 No.6 Container Container 用于封装和管理 Servlet,以及具体处理 Request 请求,在Container内部包含了4个子容器,4个子容器的作用分别是:
引擎,用来管理多个站点,一个Service最多只能有一个Engine;
代表一个站点,也可以叫虚拟主机,通过配置Host就可以添加站点;
代表一个应用程序,对应着平时开发的一套程序,或者一个WEB-INF目录以及下面的web.xml文件;
每一Wrapper封装着一个Servlet; No.7 tomcat启动流程 tomcat的启动流程很标准化,入口是BootStrap,统一按照生命周期管理接口Lifecycle的定义进行启动。 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |