当前位置: 首页 > news >正文

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非常适合用于云计算环境,其轻量级特性和易于扩展的能力使得它能够有效应对变化的负载需求。此外,它支持集群和会话复制,确保高可用性。

774f65dba70848ecb1974fdab1bde330.png

 什么是Tomcat?

        Tomcat是一个轻量级的Web服务器,主要用于运行Java Servlet和JSP。它封装了HTTP协议,使得开发者能够更方便地构建和管理Web应用程序。由于其开源和跨平台的特性,Tomcat受到许多Java开发者的青睐。

d7a275bdbe944fbf8b7b87dca3bc4700.png

 Tomcat下载,安装

首先访问官网直接下载对应的压缩包  Apache Tomcat® - Apache Tomcat 11 Software Downloads

fa3aad0667bb46a7a55b306662a61059.png

        如果你想要手动配置和运行 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  这个目录下

9d5661d641d34523972728e6ae01b827.png

启动Tomcat

06963d16175f49edb2e09bb35d6cf459.png

找到  bin/startup.bat  启动服务 

82d758fb55ef4cdf9158c8e78533cdfb.png

启动成功后,我们可以看到中文乱码,因此我们需要去解决一下这个问题 

c9c1399863614fd29fa7f10c91db75c2.png

修复在中文乱码

找到这个文件,打开它     "apache-tomcat-11.0.0\conf\logging.properties"   

deef89f268aa4826bc2a2521c9c758b4.png

 打开后找到第 51 行,将 UTF - 8,替换成 GBK,然后 保存一下 ,即可完成

71be5a8f4a7d43a085262922e1376a3a.png

 当我们再次启动tomcat ,就会发现 乱码已经恢复正常了

0e0f93b8c6fb42e9849e8b34c21eca24.png

访问Tomcat

Tomcat默认占用端口号是 8080 .

先启动再访问,输入 localhost:8080   ,即可进入欢迎界面

41cc27ea4e174cc696ee5bd62e83b315.png

常见问题

1.检查 JAVA_HOME 环境变量是否正确

如果遇到第一种情况,启动后一闪而过,需要检查Java的环境变量

54164a7c6d774160b6a613f0df3eb56e.png

2.端口号冲突

        如果有别的进程占用了8080,关掉即可;如果遇到不能关闭的情况,我们需要重新配置Tomcat的端口号

86e0faed5b2647f48f2df01dd486c4d0.png

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)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和扩展…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...