Tomcat 11 下载/安装 与基本使用
为什么要使用Tomcat?
使用Apache Tomcat的原因有很多,以下是一些主要的优点和特点:
1. 开源与免费
Tomcat是一个完全开源的项目,任何人都可以免费使用。它由Apache软件基金会维护,拥有一个活跃的社区,这意味着开发者可以获得大量的支持和资源。
2. 轻量级与高性能
Tomcat被设计为轻量级的Java Servlet容器,启动和运行速度非常快。它不需要过多的系统资源,这使得它在处理高并发请求时表现出色,适合用于大规模应用。
3. 易于安装和配置
Tomcat的安装过程简单明了,提供了多种安装选项,包括Windows服务安装程序。配置文件(如server.xml
)易于理解,使得开发者能够快速上手并进行必要的调整。
4. 支持Java EE规范
Tomcat实现了Java Servlet、JavaServer Pages(JSP)和WebSocket等多种Java EE规范。这使得它能够有效地处理动态内容,并且与Java技术栈中的其他组件(如Spring、Hibernate)无缝集成。
5. 可扩展性和灵活性
Tomcat具有良好的扩展性,支持通过插件和模块进行功能扩展。开发者可以根据项目需求自定义Tomcat的行为,以满足特定要求。
6. 安全性
Tomcat提供了多种安全功能,如身份验证、授权和数据加密等。这些特性使得它非常适合需要遵循严格安全标准的企业应用,比如金融行业。
7. 兼容性
由于Tomcat是基于Java开发的,它能够与各种操作系统和平台兼容。这种跨平台能力使得开发者能够在不同环境中部署应用程序,而无需进行大量修改。
8. 社区支持
作为一个成熟的开源项目,Tomcat拥有庞大的用户群体和丰富的文档资源。无论是遇到技术问题还是寻找最佳实践,开发者都能在社区中找到帮助。
9. 适合云环境
Tomcat非常适合用于云计算环境,其轻量级特性和易于扩展的能力使得它能够有效应对变化的负载需求。此外,它支持集群和会话复制,确保高可用性。
什么是Tomcat?
Tomcat是一个轻量级的Web服务器,主要用于运行Java Servlet和JSP。它封装了HTTP协议,使得开发者能够更方便地构建和管理Web应用程序。由于其开源和跨平台的特性,Tomcat受到许多Java开发者的青睐。
Tomcat下载,安装
首先访问官网直接下载对应的压缩包 Apache Tomcat® - Apache Tomcat 11 Software Downloads
如果你想要手动配置和运行 Tomcat,那么你可以选择下载 Windows ZIP 文件。这种格式的压缩包包含所有的 Tomcat 文件,可以解压后直接进行配置和启动。
如果你希望通过安装向导来简化安装过程,并希望能够将 Tomcat 作为 Windows 服务运行,那么你应该选择 Windows Service Installer。这个安装包会自动进行相关配置,安装完成后会自动将 Tomcat 设置为 Windows 服务,方便管理。
- 选择 Windows ZIP:如果你希望手动安装和配置 Tomcat。
- 选择 Windows Service Installer:如果你希望通过安装向导进行安装,并希望将其作为服务运行。
这里我们以window为例,选择最新的11版本进行下载演示,下载完成后,选择合适的路径进行解压即可,
Tomcat目录结构
简单介绍一下这些文件目录作用:
- bin:存放启动和关闭Tomcat的脚本文件。
- conf:存放配置文件,如
server.xml
(主要配置文件)、web.xml
等。- lib:存放Tomcat运行所需的库文件(JAR包)。
- logs:存放运行日志文件。
- temp:存放临时文件。
- webapps:存放Web应用程序,可以直接将WAR包或解压后的项目放在此目录下进行部署。
这是我们解压后的文件目录,以后我们要部署的项目就需要放在 webapps 这个目录下
启动Tomcat
找到 bin/startup.bat 启动服务
启动成功后,我们可以看到中文乱码,因此我们需要去解决一下这个问题
修复在中文乱码
找到这个文件,打开它 "apache-tomcat-11.0.0\conf\logging.properties"
打开后找到第 51 行,将 UTF - 8,替换成 GBK,然后 保存一下 ,即可完成
当我们再次启动tomcat ,就会发现 乱码已经恢复正常了
访问Tomcat
Tomcat默认占用端口号是 8080 .
先启动再访问,输入 localhost:8080 ,即可进入欢迎界面
常见问题
1.检查 JAVA_HOME 环境变量是否正确
如果遇到第一种情况,启动后一闪而过,需要检查Java的环境变量
2.端口号冲突
如果有别的进程占用了8080,关掉即可;如果遇到不能关闭的情况,我们需要重新配置Tomcat的端口号
3.日志查看
如果遇到问题,可以查看 logs/catalina.out
或其他日志文件以获取详细错误信息。
部署项目
直接将项目放置再 webapps 这个目录下,即可。
假设我们 有一个 demo 项目 ,我们直需要这样 http://localhost:8080/demo/index.html 即可访问
总结
Apache Tomcat因其开源、轻量、高性能以及良好的安全性而成为Java Web应用程序开发和部署的首选平台。无论是初学者还是经验丰富的开发者,都可以利用Tomcat提供的强大功能来构建高效、可靠的Web应用程序。
相关文章:

Tomcat 11 下载/安装 与基本使用
为什么要使用Tomcat? 使用Apache Tomcat的原因有很多,以下是一些主要的优点和特点: 1. 开源与免费 Tomcat是一个完全开源的项目,任何人都可以免费使用。它由Apache软件基金会维护,拥有一个活跃的社区,这…...
Linux系统时间服务——Chrony服务器
文章目录 Linux系统时间服务——Chrony服务器前言时间同步的重要性Linux系统的两种时钟系统时钟(System Clock)相关命令硬件时钟 (RTC - Real Time Clock)相关命令 Chrony介绍NTP Chronyc相关命令服务管理相关命令chronyc 基本命令时间校正和控制命令NTP…...
C# 接口(Interface)
C# 接口(Interface) 接口在C#中是一种非常重要的概念,它定义了一个约定,实现该接口的类必须遵循这个约定。接口可以包含方法、属性、事件和索引器,但不包含实现。这使得接口成为定义抽象行为的理想选择。在本文中&…...

《高频电子线路》—— 电容三端LC振荡器
文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 电容三端LC振荡器 基本原理(考毕兹电路) 反馈电压从C2上取得,作为输入电压,形成正反馈&a…...

leetcode35.搜索插入位置
1)题目描述: 2)本题要求使用 时间复杂度O(log n)的算法,这里使用二分查找的方法,这道题本身不复杂,但是,在使用递归调用时,笔者经常把递归结束的边界搞错,这里给出几版代…...

Redis全系列学习基础篇之位图(bitmap)常用命令的解析
文章目录 描述常用命令及解析常用命令解析 应用场景统计不确定时间周期内用户登录情况思路分析实现 统计某一特定时间内活跃用户(登录一次即算活跃)的数量思路分析与实现 描述 bitmap是redis封装的用于针对位(bit)的操作,其特点是计算效率高,占用空间少,常被用来统计…...

Copilot功能
Copilot 1、简介:Copilot是由GitHub与OpenAI共同开发的一款AI编程助手,旨在帮助开发者提高工作效率,改善代码质量。 2、主要功能包括: 1.代码补全:Copilot可以在开发者编写代码时提供代码建议,包括函数、循…...
《GBDT 算法的原理推导》 11-13初始化模型 公式解析
本文是将文章《GBDT 算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 公式(11-13)是GBDT算法的第一步,它描述了如何初始化模型。公式如下: f 0 ( x ) arg min c ∑ i 1 N L ( y i , c ) f_0(x) \arg \m…...

# Easysearch 与 LLM 融合打造高效智能问答系统
LangChain通过提供统一的抽象层和丰富的工具,极大地简化了LLM应用程序的开发过程,使得开发者能够更加专注于业务逻辑。RAG技术则通过索引和检索生成两步流程,利用最新数据或私有数据作为背景信息来增强大模型的推理能力。然而,对于…...

本地可以插入表记录,生产不能插入表记录
先说解决方案: 切面没有注入容器,在切面这加上Component详情: 大致是这样一个方法,本地运行会插入数据到sys_log表,但部署到服务器上就不会插入,而服务部署三年多了,一个表一直是空的居然没人…...

11.Three.js使用indexeddb前端缓存模型优化前端加载效率
11.Three.js使用indexeddb前端缓存模型优化前端加载效率 1.简述 在使用Three.js做数字孪生应用场景时,我们常常需要用到大量模型或数据。在访问我们的数字孪生应用时,每次刷新都需要从web端进行请求大量的模型数据或其他渲染数据等等,会极大…...
功能测试:方法、流程与工具介绍
功能测试是对产品的各功能进行验证的一种测试方法,旨在确保软件以期望的方式运行并满足设计需求。以下是对功能测试的详细解释: 一、定义与目的 定义:功能测试(Functional Testing),也称为行为测试&#…...
【Orange Pi 5 Linux 5.x 内核编程】-设备驱动中的sysfs
设备驱动中的sysfs 文章目录 设备驱动中的sysfs1、sysfs介绍2、内核对象(kobject)介绍3、设备驱动中的SysFS31 在/sys中创建目录3.2 创建sysfs文件3.2.1 创建属性3.2.2 创建sysfs文件4、驱动程序实现5、驱动验证1、sysfs介绍 sysfs是内核导出的虚拟文件系统,类似于/proc。sys…...
微信小程序-全局数据共享/页面间通信
一.全局数据共享 声明全局的变量,在app.js文件里 App({//全局共享的数据globalData:{token:},//设置全局数据setToken(token){this.globalData.tokentoken}})使用 getApp() 获取全局App实例 //返回全局唯一的APP实例 const appInstancegetApp()Page({login(){con…...

java计算机毕设课设—Java聊天室(附源码、文章、相关截图、部署视频)
这是什么系统? 资源获取方式再最下方 java计算机毕设课设—Java聊天室(附源码、文章、相关截图、部署视频) Java聊天室系统是一个基于Java语言开发的在线即时通讯平台,旨在为用户提供一个简单、易用的实时交流环境。该系统支持多用户同时在线交流&…...
图像识别基础认识
import numpy as np import pandas as pd import matplotlib.pyplot as plt import cv2 %matplotlib inline读取图像 img = cv2.imread(shuzi.png) # 显示图像 cv2.imshow(shuzi, img) # 设置窗口大小 #cv2.resizeWindow(shuzi, 800, 600) # 设置宽为800,高为600 cv2.waitKe…...
使用 OpenCV 读取和显示图像与视频
概述 OpenCV 是一个强大的计算机视觉库,广泛应用于图像处理和视频处理等领域。本文将详细介绍如何使用 OpenCV 在 Python 中读取和显示图像以及视频,并通过具体的代码示例来展示整个过程。 环境准备 在开始之前,请确保已经安装了 OpenCV 库…...
【1】Elasticsearch 30分钟快速入门
文章目录 一、Elasticsearch 基本概念及工作原理(一)基本概念(二)工作原理二、Elasticsearch 原生 RESTful 方式的增删改查(一)创建索引(二)插入文档(三)查询文档(四)更新文档(五)删除文档(六)删除索引三、Python SDK 实现增删改查(一)安装 Elasticsearch Py…...

教材管理系统设计与实现
教材管理系统设计与实现 1. 系统概述 教材管理系统是一个基于PHP和SQL的Web应用程序,旨在为学校提供一个高效的教材管理平台。该系统可以帮助管理员录入教材信息、教师查询和申请教材、学生查询教材信息,提高教材管理的效率和透明度。 2. 技术栈 前端…...

软考(中级-软件设计师)数据库篇(1101)
第6章 数据库系统基础知识 一、基本概念 1、数据库 数据库(Database ,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和扩展…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...