网易首页 > 网易号 > 正文 申请入驻

什么是 Apache Tomcat?

0
分享至

Tomcat是一个Apache Software Foundation项目,它于1998年首次发布,距Java本身仅四年。

Tomcat开始作为第一个Java Servlet API和JSP规范的参考实现。尽管Tomcat不再是这两种技术的参考实现,但Tomcat仍然是使用最广泛的Java服务器,它拥有经过良好测试和验证的核心引擎,并具有良好的可扩展性。

在这个简短的介绍中,您将了解为什么许多软件商店选择Tomcat来运行Java Web应用程序。

您将获得Tomcat及其用法的概述,以及撰写本文时最新版本的安装说明。

Tomcat是哪种服务器?

Java生态系统支持多种类型的应用程序服务器,因此让我们消除它们的歧义,看看Tomcat适用于哪些位置:
甲servlet容器是Java Servlet规范的一个实现,主要用于托管的Java小服务程序。


一个Web服务器是一种旨在从本地系统提供文件服务,如Apache服务器。


一个Java企业应用服务器是一个完全成熟的实现的Java EE(今雅加达EE)规范。

从本质上讲,Tomcat是Servlet和JSP容器。一的Java servlet封装代码和业务逻辑,并定义了如何请求和响应应该在Java服务器处理。

JSP是一种服务器端视图渲染技术。作为开发人员,您编写servlet或JSP页面,然后让Tomcat处理路由。

Tomcat还包含Coyote引擎,它是一个Web服务器。

感谢Coyote,可以将Tomcat扩展为包括各种Java企业规范和功能,包括Java Persistence API(JPA)。


Tomcat还具有称为TomEE的扩展版本,其中包含更多企业功能。我将在本文稍后简要介绍TomEE。

让我们从使用Tomcat托管servlet和JSP开始。

下载并安装Tomcat

作为软件世界的古老者,有许多Tomcat版本可用。有关版本差异的信息可在Tomcat主页上找到。通常,您可以选择最新的稳定版本。

为了我们的目的,下载最新版本的Tomcat,当前版本为Tomcat 9。您可以选择将Tomcat作为归档文件(.zip或tar.gz)或作为已安装的服务下载。最好的选择取决于您-除非您当然不在Windows上运行,否则将使用存档。我们将在本文中使用存档。

Tomcat的Windows安装

如果您正在运行Windows并想使用安装程序,只需下载.exe文件并运行它。Tomcat会将其自身安装为具有合理默认值的服务。然后它将通知您安装位置,并且您可以像在其中解压缩存档一样继续进行。

步骤1.命令行安装

去命令行和类型gunzip apache-tomcat-9.0.19.tar.gz接着tar -xf apache-tomcat-9.0.19.tar。这将创建以下目录:
bin:包含用于执行Tomcat的脚本。


webapps:是您将部署应用程序的位置。


logs:是Tomcat输出日志的位置。请注意,/logs/catalina.out默认情况下会进入Tomcat的日志。您可以使用此文件和特定于应用程序的日志文件一起调试问题。


lib:是Tomcat查找JAR的地方。在这里,您将存储Tomcat不附带的其他软件包,例如JPA。


conf:是Tomcat的配置XML,您可以在其中执行诸如为Tomcat添加用户和角色之类的操作。

步骤2.启动Tomcat

如果将Tomcat作为服务安装,则它已经在运行。否则,请继续并通过./catalina.sh start在命令行中输入启动它。(键入./catalina.sh不带参数的内容以查看所有可用命令)。

现在,您应该能够在浏览器中浏览到Tomcat的欢迎屏幕。

在Tomcat中部署应用程序

Tomcat的webapps目录是您部署应用程序的位置。您可以将.war文件放在那里,然后Tomcat将运行它。

WAR文件是Web应用程序资源的标准包装:一个JAR文件,其中包含一些其他文件,这些文件告诉容器(在本例中为Tomcat)如何运行它。

除了标准包装之外,还有三种其他方法可以在Tomcat中部署内容。

爆炸式部署

“爆炸式” Web应用程序是未压缩为WAR文件的应用程序,这意味着它仍包含目录和文件中列出的所有元素。

您解压缩的Tomcat归档文件附带了以这种方式部署的几个示例,您可以在/webapps/examples目录中找到这些示例。展开式部署的优点是您可以查看那里的文件而不必担心压缩。

如果您导航到http://localhost:8080/examples/,则会找到链接列表。

该页面由Tomcat通过/webapps/examples/index.html文件呈现。Tomcat正在从文件系统提供HTML文件,该文件系统是充当Web服务器的Tomcat Coyote引擎的实例。

您可以随意浏览所提供的示例,它们为您提供了有关Tomcat服务servlet,JSP和WebSockets的功能的良好概述。

Tomcat默认情况下还包含一个管理应用程序,该应用程序位于该/manager路径下。除其他外,此应用程序允许您从Web控制台启动,停止和重新部署应用程序。

提供静态内容

可以从文件系统提供文件,也可以从Tomcat转发到另一个HTTP服务器(如Apache)。

另一个常见的设置是将文件服务器(如Apache或Nginx)放在Tomcat的前面,然后将您的API请求转发到Tomcat。

在这些情况下,mod_JK库用于配置Tomcat和Apache(或什至是另一个Web服务器,如IIS)进行通信。

为了提高性能,主要是在交付静态内容方面,Tomcat还提供了Windows和Linux的本机包装。这被称为Tomcat APR,更多信息可在此处获得。这些对于典型的用例而言不是必需的,但很容易了解。

嵌入式Tomcat

长期以来,Jetty是唯一能够作为嵌入式服务器运行的服务器。那已经改变了,现在Tomcat也可以运行嵌入式了。

使用嵌入式服务器的想法是,到目前为止,您没有拥有包含应用程序文件的服务器,而是拥有一个具有主类的应用程序(即独立的Java应用程序),该应用程序从以下位置调用服务器功能:在其代码库中。

总体而言,这提供了更简单和可移植的开发模型,并迅速成为标准。例如,Spring Boot使用以dev模式运行的嵌入式Tomcat实例。

运行嵌入式服务器可以简化操作,因为您现在只处理单个组件(应用程序),而不是同时处理应用程序和服务器部署。另一方面,Tomcat作为独立主机运行的设置仍然很常见。

TomEE

通过将这些库添加到Tomcat本身或应用程序依赖项,可以将更多标准Java EE(或Jakarta EE)功能与Tomcat一起使用。

另一个选择是TomEE服务器。TomEE是具有额外Java企业支持的相同Tomcat引擎,包括流行的JPA和CDI(上下文和依赖注入) API。

TomEE的规范基于Java EE Web配置文件,因此它提供给您的不仅仅是Tomcat,而且不是像WildFly或Glassfish这样的成熟的Java EE应用服务器。

高可用性和集群

Tomcat支持高可用性和集群。本质上,高可用性是指故障转移到服务器的另一个实例并重新创建会话的能力,就好像什么都没出错。群集是创建同一服务器的多个版本以处理大量流量的能力。

结论

Tomcat保持积极发展,与变化保持同步,并为部署Web应用程序提供了坚实可靠的平台。它的持续流行以及作为许多PaaS系统的默认Java平台的选择都证明了其持续的成功。

原文来自:https://server.51cto.com/sOS-621591.htm

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
59岁叶子楣自爆:曾被黑社会恐吓要求露点,单身多年依然向往爱情

59岁叶子楣自爆:曾被黑社会恐吓要求露点,单身多年依然向往爱情

她时尚丫
2026-03-13 21:03:06
神剧情:补时丢2球,沙特豪门被逆转,无缘登顶,C罗争夺金靴难了

神剧情:补时丢2球,沙特豪门被逆转,无缘登顶,C罗争夺金靴难了

林子说事
2026-03-14 19:52:21
美国梦塌房?大批华裔二代反水,痛骂父母移民美国错过中国崛起红利

美国梦塌房?大批华裔二代反水,痛骂父母移民美国错过中国崛起红利

鲸探所长
2026-03-13 12:28:30
震惊东京华人圈的上野街头4亿抢劫案告破:日本警方逮捕7人

震惊东京华人圈的上野街头4亿抢劫案告破:日本警方逮捕7人

东京在线
2026-03-14 16:48:06
两艘印度运输船顺利通过霍尔木兹海峡

两艘印度运输船顺利通过霍尔木兹海峡

每日经济新闻
2026-03-14 19:02:25
德转预热阿尔瓦雷斯身价下跌:最高9500万欧,最低8000万欧

德转预热阿尔瓦雷斯身价下跌:最高9500万欧,最低8000万欧

懂球帝
2026-03-14 20:42:01
摊牌了!离婚5个月后,海哈金喜和李亚鹏高调认爱,比复婚更体面

摊牌了!离婚5个月后,海哈金喜和李亚鹏高调认爱,比复婚更体面

法老不说教
2026-03-14 17:22:17
伊朗“炸断”芯片氦气供应链!

伊朗“炸断”芯片氦气供应链!

中国半导体论坛
2026-03-13 22:03:24
太难了!生涯新低啊!NBA总裁点评杨瀚森

太难了!生涯新低啊!NBA总裁点评杨瀚森

篮球实战宝典
2026-03-14 19:47:29
针锋相对!隐身的两人现身,一个要复仇,一个要暗杀!美国很被动

针锋相对!隐身的两人现身,一个要复仇,一个要暗杀!美国很被动

视角透析者
2026-03-13 16:46:26
邵子钦无愧女足大杀器,体能怪存在感超强,若留洋有亚洲巨星潜质

邵子钦无愧女足大杀器,体能怪存在感超强,若留洋有亚洲巨星潜质

杨华评论
2026-03-14 17:11:59
3月14日俄乌:泽连斯基的得体回应

3月14日俄乌:泽连斯基的得体回应

山河路口
2026-03-14 19:48:59
2699元,苹果新品刚发售就降价,真的有点猛了

2699元,苹果新品刚发售就降价,真的有点猛了

科技堡垒
2026-03-13 12:26:19
马杜罗狱中细节曝光 彻夜高喊我是总统正被虐待

马杜罗狱中细节曝光 彻夜高喊我是总统正被虐待

看看新闻Knews
2026-03-14 13:49:02
王霜吃黄牌停赛!视频回放给出答案 主裁身份曝光 中国女足遭打击

王霜吃黄牌停赛!视频回放给出答案 主裁身份曝光 中国女足遭打击

侃球熊弟
2026-03-14 17:54:08
1965年陆小曼病世,翁瑞午的长女见四下无人,迅速解开她的衣扣

1965年陆小曼病世,翁瑞午的长女见四下无人,迅速解开她的衣扣

铜臭的历史味
2026-03-13 23:02:59
存款200万!妻子去世,黑龙江男子拒绝相亲,称不会再婚困住自己

存款200万!妻子去世,黑龙江男子拒绝相亲,称不会再婚困住自己

火山詩话
2026-03-12 10:17:39
德黑兰大规模集会现场遭轰炸,美以联军开始实施集体屠杀!

德黑兰大规模集会现场遭轰炸,美以联军开始实施集体屠杀!

李光满说
2026-03-13 21:11:45
伊朗今天的灾难,是白左当年种下的祸根

伊朗今天的灾难,是白左当年种下的祸根

难得君
2026-03-11 00:16:06
我家年夜饭订最贵酒楼,大伯带19口人来蹭饭,结果到门口傻眼了

我家年夜饭订最贵酒楼,大伯带19口人来蹭饭,结果到门口傻眼了

晓艾故事汇
2026-03-13 08:04:46
2026-03-14 21:56:49
互联网干货博主
互联网干货博主
我是专注分享互联网干货的博主
278文章数 1340关注度
往期回顾 全部

科技要闻

xAI创始伙伴只剩两人!马斯克“痛改前非”

头条要闻

胖东来给店长每人2000万普通员工人均20万 于东来回应

头条要闻

胖东来给店长每人2000万普通员工人均20万 于东来回应

体育要闻

NBA唯一巴西球员,增重20KG顶内线

娱乐要闻

九成美曝田栩宁孕期出轨 AI反转引热议

财经要闻

3·15影子暗访|神秘的“特供酒”

汽车要闻

吉利银河M7技术首秀 实力重构主流电混SUV

态度原创

艺术
数码
手机
游戏
公开课

艺术要闻

李建鹏:90后第四届“中国美术奖”铜奖获得者

数码要闻

AWE2026对话黄宏生:创维的AI客厅革命与年轻化突围

手机要闻

春晚同款直播神器现身AWE2026!余总小尼探秘Mate 80系列好玩科技

"我的挚爱已经离去!"《巅峰守卫》停服 外媒扼腕叹息

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版