Tomcat部署及优化

1. Tomcat

Tomcat是免费的开放源代码的Web应用服务器,Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目,由Apache、Sun和一些公司及个人共同开发而成,深受Java爱好者的喜爱,并得到部分软件开发商的认可是目前比较流行的Web应用服务器,Tomcat属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选

2. Tomcat 核心组件

(1)web容器:完成web服务器的功能

(2)Servlet容器:名字为catalina,用于处理Servlet代码,Servlet是Java Servlet 的简称,可以理解为是一个服务连接器,是用Java编写的服务器端程序,具有独立于平台和协议的特性,servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建

(3)JSP 容器:用于将 JSP动态网页翻译成Servlet代码,JSP 全称 Java Server Pages,是一种动态网页开发技术,主要用于实现 Java web应用程序的用户界面部分,JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

3. Tomcat 请求处理

(1)用户在浏览器中输入网址,请求被发送到本机端口8080,被在那里监听的Connector获得

(2)Connector把该请求交给它所在的Service 的 Engine (Container)来处理,并等待Engine的回应

(3)请求在Engine、Host、Context和 Wrapper 这四个容器之间层层调用,最后在Servlet 中执行对应的业务逻辑、数据存储

(4)执行完之后的请求响应在Context、Host、Engine 容器之间层层返回,最后返回给Connector,并通过Connector返回给客户端

4. Tomcat 功能组件结构

① Server

Server元素在最顶层,代表整个Tomcat容器,因此它必须是server.xml中唯一一个最外层的元素,一个Server元素中可以有一个或多个Service元素

Server的主要任务,就是提供一个接口让客户端能够访问到这个Service集合,同时维护它所包含的所有的Service的声明周期,包括如何初始化、如何结束服务、如何找到客户端要访问的Service

② Service

Service的作用,是在Connector和Engine外面包了一层,把它们组装在一起,对外提供服务,一个Service可以包含多个Connector,但只能包含一个Engine;其中Connector的作用是从客户端接收请求,Engine的作用是处理接收进来的请求,Tomcat可以提供多个Service,不同的Service监听不同的端口

③ Connector

Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine来处理这个请求,并把产生的Request和Response对象传给Engine,通过配置Connector,可以控制请求Service的协议及端口号

④ Engine

Engine组件在Service组件中有且只有一个,Engine是Service组件中的请求处理组件,Engine组件从一个或多个Connector中接收请求并处理,并将完成的响应返回给Connector,最终传递给客户端,Engine、Host、Context都是容器,但它们不是平行的关系,而是父子关系:Engine包含Host,Host包含Context

⑤ Host

Host是Engine的子容器,Engine组件中可以内嵌1个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机,Host组件至少有一个,且其中一个的name必须与Engine组件的defaultHost属性相匹配,Host虚拟主机的作用,是运行多个Web应用(一个Context代表一个Web应用),并负责安装、展开、启动和结束每个Web应用

⑥ Context

Context元素代表在特定虚拟主机上运行的一个Web应用,每个Web应用基于WAR文件,或WAR文件解压后对应的目录(称为应用目录)Context是Host的子容器,每个Host中可以定义任意多的Context元素

5. 每个Service会包含一个 Container容器,在Container内部包含了4个子容器

① Engine:引擎,用来管理多个虚拟主机,一个Service 最多只能有一个Engine

② Host:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点

③ Context:代表一个 web应用,包含多个Servlet封装器

④ wrapper:封装器,容器的最底层,每一wrapper 封装着一个Servlet,负责对象实例的创建、执行和销毁功能

6. Engine、Host、Context和 wrapper,这四个容器之间属于父子关系容器由一个引擎可以管理多个虚拟主机,每个虚拟主机可以管理多个web应用,每个web应用会有多个Servlet封装器

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值