前言
一、概述
简单介绍
Tomcat免费的、开放源代码的Web应用服务器,属于轻量级应用服务器。
在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP程序的首选。
Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目,由Apache、Sun和一些公司及个人共同开发而成。深受Java爱好者的喜爱,并得到部分软件开发商的认可。目前比较流行的Web应用服务器Tomcat对比于Apache或者Nginx这些Web服务器,都具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
2021年Java真题面试文档分享给大家。
核心组件
Web容器------完成Web服务器的功能。
Servlet 容器------名字为catalina, 用于处理Servlet代码。
JSP容器------用于将JSP动态网页翻译成Servlet代码。
JavaServlet
JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI (公共网关接口)功能相类似。
JSP容器
JSP全称:Java Server Pages
是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头 以%>结束。JSP是一 种Java servlet,主要用于实现Java web应用程序的用户界面部分。
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
二、Tomcat顶层架构
(1)Tomcat中最顶层的容器是Server, 代表着整个服务器,一个Server可以包含至少- -个Service, 用于具体提供服务。
(2)Service主要包含两个部分: Connector 和Container. Tomcat 的心脏就是这两个组件,这两个组件的作用: Connector用 于处理连接相关的事情,并提供Socket 与Request和Response相关的转化;Container用于封装和管理Servlet,以及具体处理Request请求。
(3)一个Tomcat中只有一 个Server,一个Server可以包含多个Service, 一 个Service只有一个Container, 但是可以有多个Connectors, 因为一个服务可以有多个连接,如同时提供Http和Https链接,也可以提供向相同协议不同端口的连接。
(4)多个Connector和一个Container 就形成了一个Service, 有了Service 就可以对外提供服务了,但是Service还要一个生存的环境, 必须要有 人能够给她生命、掌握其生死大权,那就非Server 莫属了!所以整个Tomcat 的生命周期由Server控制。另外,上述的包含 关系或者说是父子关系,都可以在tomcat的conf目录下的server . xml配置文件中看出。