文章目录
Tomcat编译安装
一、Tomcat介绍
- 免费的、开放源代码的Web应用服务器。
- Apache软件基金会(Apache Software Foundation) Jakarta项目中的一个项目。
- 由Apache、Sun和一些公司及个人共同开发而成。
- 深受Java爱好者的喜爱,并得到部分软件开发商的认可。
- 目前比较流行的Web应用服务器。
二、Tomcat核心组件
Tomcat由一系列的组件构成,其中核心的组件有三个。
1、Web容器
完成Web服务器的功能。接受、响应请求并展示动态页面。
2、Servlet容器
名为catalina,用于处理Servlet代码。
Servlet是Java Servlet的简称,可以理解是作为一个服务连接器,是用java编写的服务端程序,具有独立于平台和协议的特性。Servlet作为一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态页面的建立。
3、JSP容器
用于将JSP动态网页翻译成Servlet代码。
JSP全称Java Server Pages,是一种动态网页开发技术,使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头,以%>结束。JSP是一种Java Servlet,主要用于实现Java web应用程序的用户界面部分。JSP通过网页表单获取用户输入数据、访问数据库以及数据源,然后动态的创建网页。
三、Tomcat功能组件结构
Tomcat的核心功能有两个,分别是负责接收和反馈外部请求的连接器Connector和负责处理内部请求的容器Container。其中连接器和容器相辅相成,一起构成了基本的Web服务Service。每个Tomcat服务器可以管理多个Service。
-
Connector:负责对外接收响应和要求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
-
Container:负责对内处理业务逻辑。其内部由Engine、Host、Context和Wrapper四个容器组成,,用于管理和调用Servlet相关逻辑。
-
Service:对外提供的Web服务。主要包含Connector和Container两个核心组件,以及其它功能组件。Tomcat可以管理多个Service,且各Service之间相互独立。
Container结构分析:
每个Service会包含一个Container容器。在Container内部包含了4个子容器,其作用分别是:
1)Engine:引擎,用来管理多个虚拟主机,一个Service最多只能有一个Engine;
2)Host:代表一个虚拟主机,也可以叫做站点,通过配置Host就可以添加站点;
3)Context:代表一个Web应用,包含多个Servlet封装器;
4)Wrapper:封装器,容器的最底层,每一Wrapper封装着一个Servlet,负责对象实例的创建、执行和销毁功能。
Engine、Host、Context和Wrapper这四个容器之间属于父子关系。容器由一个引擎可以管理多个虚拟主机,每个虚拟主机可以管理多个Web应用,每个Web应用会有多个Servlet封装器。
四、Tomcat请求过程
1、用户在浏览输入网址,请求被发送到本机端口8080,被在那里监听的Connector获得;
2、Connector把该请求交给它所在的Service的Engine(Container)来处理,并等待Engine的回应;
3、请求在Engine、Host、Context、Wrapper四个容器之间层层调用,最后在Servlet中执行对应的业务逻辑、数据存储等;
4、执行完之后的请求响应在