Apache Tomcat 是一个开源的软件服务器,用于部署和运行 Java Servlet 和 JSP(JavaServer Pages)。本文将详细介绍如何在 Ubuntu 系统上安装并配置 Apache Tomcat。无论你是要开发企业级应用还是学习 Java Web 开发,Tomcat 都是一个不可或缺的工具。

Tomcat 基础功能

在这里插入图片描述

Tomcat 历史和介绍

WEB 应用服务器

Web 应用服务器的使用
数据来源

https://www.baeldung.com/java-in-2019

商用:IBM WebSphere、Oracle WebLogic(原属于BEA公司)、Oracle Oc4j、RedHat JBoss等
开源:Tomcat、Jetty、Resin、Glassfish

Tomcat 介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML静态资源页面的功能,它还是一个 Servlet和JSP容器。
起始于SUN 公司的一个Servlet的参考实现项目 Java Web Server,开发者是 James Duncan Davidson,在1999年,将项目贡献给了apache软件基金会(ASF),和ASF现有的项目 JServ 合并,并开源成为顶级项目。
Tomcat 仅仅实现了Java EE规范中与Servlet、JSP相关的类库,是JavaEE不完整实现
著名图书出版商O’Reilly约稿该项目成员Davidson希望使用一个公猫作为封面,但是公猫已经被使用, 书出版后封面是一只雪豹《Tomcat权威指南》封面如下
在这里插入图片描述
1999年发布初始版本是Tomcat 3.0,实现了Servlet 2.2 和 JSP 1.1规范。
Tomcat 4.x发布时,内建了Catalina(Servlet容器)和 Jasper(JSP engine)等
当前 Tomcat 的正式版本已经更新到11.0.x 版本,但当前企业中主流版本为 9.x 和 10.x
官网:http://tomcat.apache.org/
官网文档:https://tomcat.apache.org/tomcat-8.5-doc/index.html
帮助文档:https://cwiki.apache.org/confluence/display/tomcat/
https://cwiki.apache.org/confluence/display/tomcat/FAQ

Tomcat 各版本区别

官方文档:https://tomcat.apache.org/whichversion.html

Tomcat 安装

基于包安装 Tomcat

Rocky 包安装 tomcat

[root@rocky9 ~]# dnf list|grep tomcat
idm-jss-tomcat.x86_64                                                                    5.5.0-1.el9                          AppStream    
idm-jss-tomcat.x86_64                                                                    5.5.0-1.el9                          appstream    
tomcat.noarch                                                                            1:9.0.87-2.el9_5.1                   AppStream    
tomcat.noarch                                                                            1:9.0.87-2.el9_5.1                   appstream    
tomcat-admin-webapps.noarch                                                              1:9.0.87-2.el9_5.1                   AppStream    
tomcat-admin-webapps.noarch                                                              1:9.0.87-2.el9_5.1                   appstream    
tomcat-docs-webapp.noarch                                                                1:9.0.87-2.el9_5.1                   AppStream    
tomcat-docs-webapp.noarch                                                                1:9.0.87-2.el9_5.1                   appstream    
tomcat-el-3.0-api.noarch                                                                 1:9.0.87-2.el9_5.1                   AppStream    
tomcat-el-3.0-api.noarch                                                                 1:9.0.87-2.el9_5.1                   appstream    
tomcat-jsp-2.3-api.noarch                                                                1:9.0.87-2.el9_5.1                   AppStream    
tomcat-jsp-2.3-api.noarch                                                                1:9.0.87-2.el9_5.1                   appstream    
tomcat-lib.noarch                                                                        1:9.0.87-2.el9_5.1                   AppStream    
tomcat-lib.noarch                                                                        1:9.0.87-2.el9_5.1                   appstream    
tomcat-native.x86_64                                                                     1:1.2.36-1.el9                       epel         
tomcat-servlet-4.0-api.noarch                                                            1:9.0.87-2.el9_5.1                   AppStream    
tomcat-servlet-4.0-api.noarch                                                            1:9.0.87-2.el9_5.1                   appstream    
tomcat-webapps.noarch                                                                    1:9.0.87-2.el9_5.1                   AppStream    
tomcat-webapps.noarch                                                                    1:9.0.87-2.el9_5.1                   appstream    
[root@rocky9 ~]#yum -y install tomcat tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
[root@rocky9 ~]#systemctl enable --now tomcat.service

Ubuntu 包安装 tomcat

[root@ubuntu2404 ~]#apt list|grep tomcatWARNING: apt does not have a stable CLI interface. Use with caution in scripts.libtomcat10-embed-java/noble 10.1.16-1 all
libtomcat10-java/noble 10.1.16-1 all
libtomcat9-java/noble-updates,noble-security 9.0.70-2ubuntu0.1 all
libtomcatjss-java/noble 8.4.0-2 all
tomcat-jakartaee-migration/noble 1.0.7-2 all
tomcat10-admin/noble 10.1.16-1 all
tomcat10-common/noble 10.1.16-1 all
tomcat10-docs/noble 10.1.16-1 all
tomcat10-examples/noble 10.1.16-1 all
tomcat10-user/noble 10.1.16-1 all
tomcat10/noble 10.1.16-1 all
[root@ubuntu2404 ~]#apt update && apt -y install tomcat9 tomcat9-admin tomcat9-docs tomcat9-examples
[root@ubuntu2404 ~]#ss -ntl

二进制安装 Tomcat

目前比较主流的Tomcat是 10.1.X版本,推荐从Apache官网下载二进制tomcat包进行安装,此为生产常用方式

下载并安装

注意:安装tomcat 前必须先部署JDK
官方和镜像站点下载

https://tomcat.apache.org/download-11.cgi
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/

在这里插入图片描述

#官网或镜像网站下载:
[

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93113.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93113.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93113.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程(八股)

概述并行:同一个时间点,多个线程同时执行 并发:同一个时间段,多个线程交替执行,微观上是一个一个的执行,宏观上感觉是同时执行 核心问题: 多线程访问共享数据存在资源竞用问题 不可见性 java内存模型(jmm) 变量数据都存在于主内存里,每个线程还有自己的工作内存(本地内存),规定…

如何在 Spring Boot 中设计和返回树形结构的组织和部门信息

如何在 Spring Boot 中设计和返回树形结构的组织和部门信息 文章目录如何在 Spring Boot 中设计和返回树形结构的组织和部门信息1. 需求分析一、数据库表设计1.1 organization 表设计1.2 department 表设计1.3 模拟数据二、后端设计2.1 实体类设计Organization 实体类Departmen…

Java毕业设计选题推荐 |基于SpringBoot的水产养殖管理系统 智能水产养殖监测系统 水产养殖小程序

🔥作者:it毕设实战小研🔥 💖简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作💖 精彩专栏推荐订阅:在下方专栏&#x1…

排序概念、插入排序及希尔排序

一、排序基本概念1.就地排序:使用恒定的额外空间来产生输出就地排序只是在原数组空间进行排序处理,也就是输入的数组和得到的数组是同一个2.内部排序和外部排序:待排序数据可以一次性载入到内存中为内部排序,反之数据量过大就是外…

【排序算法】④堆排序

系列文章目录 第一篇:【排序算法】①直接插入排序-CSDN博客 第二篇:【排序算法】②希尔排序-CSDN博客 第三篇:【排序算法】③直接选择排序-CSDN博客 第四篇:【排序算法】④堆排序-CSDN博客 第五篇:【排序算法】⑤冒…

Android领域驱动设计与分层架构实践

引言在Android应用开发中,随着业务逻辑日益复杂,传统的MVC或简单MVP架构往往难以应对。领域驱动设计(Domain-Driven Design, DDD)结合分层架构,为我们提供了一种更系统化的解决方案。本文将探讨如何在Android项目中应用DDD原则与分层架构&…

Android12 Framework电话功能UI定制

文章目录简介代码中间按钮Fragment创建VideoCallFragmentFragment管理添加按键挂断电话功能相关文章简介 Android版本:12 芯片平台:展锐 如下图为通话中的UI,打电话出去时显示的UI与此也差不多,但来电时UI是不一样的 这个界面是…

高并发场景下分布式ID生成方案对比与实践指南

高并发场景下分布式ID生成方案对比与实践指南 在分布式系统中,唯一且全局有序的ID生成器是很多业务的底层组件。随着系统并发量不断攀升,如何在高并发场景下保证ID的唯一性、性能、可用性和可扩展性,成为后端架构师需要重点考虑的问题。本文将…

Emscripten 指南:概念与使用

Emscripten 指南:概念与使用 什么是 Emscripten? Emscripten 是一个开源的编译器工具链,用于将 C/C 代码编译成高效的 WebAssembly(Wasm)和 JavaScript。它基于 LLVM 编译器架构,允许开发者: ✅…

使用镜像网站 打开克隆 GitHub 网站仓库内容 git clone https://github.com/

GitHub 网站有时因 DNS 解析问题或网络限制,国内访问可能会受限。使用镜像网站打开网站 使用镜像网站:GitHub 有一些镜像网站,可替代官网访问,如https://hub.fastgit.org、https://gitclone.com、https://github.com.cnpmjs.org等…

Linux随记(二十二)

一、redhat6.5 从openssh5.3 升级到openssh10 - 报错处理【升级后账号密码一直错误 和 sshd dead but subsys locked】 虚拟机测试情况 - 正常:情况一、 升级后账号密码一直错误 情况二、 执行service sshd status出现 sshd dead but subsys locked

机器学习之TF-IDF文本关键词提取

目录 一、什么是 TF-IDF? 1.语料库概念理解 二、TF-IDF 的计算公式 1. 词频(TF) 2. 逆文档频率(IDF) 3. TF-IDF 值 三、关键词提取之中文分词的实现 四、TF-IDF简单案例实现 (1)数据集…

Flutter屏幕和字体适配(ScreenUtil)

一、简介 flutter_screenutil 是一个 Flutter 插件,专门用于处理屏幕适配问题。它简化了不同设备间尺寸差异的处理,确保你的应用在各种屏幕上都能保持良好的显示效果。开发者可以通过简单的调用来设置基于设计图尺寸的控件宽高和字体大小。 项目地址&a…

mimiconda+vscode

安装miniconda实现python包管理,并通过vscode进行编写python代码 miniconda简单介绍 Miniconda 是 Anaconda 公司的一个轻量级 Python 发行版本,它包含了最基本的包管理器 conda 和 Python 环境,只带最核心的组件,没有额外的大量科…

Windows文件时间修改指南:从手动到自动化

修改文件的时间属性可以满足多种需求。比如,它可以帮助整理文件,使得文件按照特定的时间顺序排列,有助于更好地管理资料。它的体积真小,才300多KB。能用来调整文件的创建时间、最后访问和修改时间。文件时间属性修改_NewFileTime.…

能刷java题的网站

以下是一些适合刷Java题的优质网站,涵盖从基础到进阶、算法面试及实战项目等多种需求: ​一、综合编程练习平台​ ​LeetCode​(leetcode.com) ​特点​:全球最知名的算法题库,含海量Java题目,分…

掘金数据富矿,永洪科技为山东黄金定制“数智掘金”实战营

在黄金开采的轰鸣声中,另一场静水深流的“掘金行动”正悄然展开。山东黄金集团,这个行业的巨头,在深挖地层宝藏的同时,也敏锐捕捉到数据洪流中蕴藏的价值富矿。然而,当海量业务数据汇聚,如何从中精准提炼决…

【论文阅读】BEVFormer论文解析及Temporal Self-Attention、Spatial Cross-Attention注意力机制详解及代码示例

BEVFormer: Learning Bird’s-Eye-ViewRepresentation from Multi-Camera Images via Spatiotemporal Transformers|Temporal Self-Attention、Spatial Cross-Attention注意力机制详解 BEVFormer(Bird’s-Eye-View Former)是一种先进的计算机视觉模型&am…

在 Ubuntu 中docker容器化操作来使用新建的 glibc-2.32

在 Ubuntu 中使用容器化操作来使用新建的 glibc-2.32,可以通过创建自定义 Docker 镜像来实现。以下是完整的解决方案: 方案 1:创建包含 glibc-2.32 的 Docker 镜像 1. 创建 Dockerfile dockerfile # 使用 Ubuntu 基础镜像 FROM ubuntu:20.04# 安装编译依赖 RUN apt-get …

GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(二)(超详细!)Vscode+espidf 摄像头拍摄视频实时传输到LCD,文末附源码

书接上回,上一篇blog是使用esp32s3通过ov2640摄像头拍摄到一帧照片,并把它保存到了SD卡中,这第二篇就通过LCD将拍摄到的图片显示到LCD上,本次分享硬件使用的 ESP32-S3-CAM 果云科技开发板,并且使用了配套的LCD扩展板&a…