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)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和扩展…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
PydanticAI快速入门示例
参考链接:https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...
HTML中各种标签的作用
一、HTML文件主要标签结构及说明 1. <!DOCTYPE html> 作用:声明文档类型,告知浏览器这是 HTML5 文档。 必须:是。 2. <html lang“zh”>. </html> 作用:包裹整个网页内容,lang"z…...
OpenGL-什么是软OpenGL/软渲染/软光栅?
软OpenGL(Software OpenGL)或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式(包括几何处理、光栅化、着色等),不依赖GPU硬件加速。这种模式通常性能较低,但兼容性极强,常用于不支持硬件加速…...
