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

安装nscd及glibc包冲突降级【centos7】

安装nscd及glibc包冲突降级【centos7】 一、查看当前glibc版本二、查找可用的glibc版本三、备份系统和数据四、降级glibc五、验证降级是否成功六、解决其他依赖问题七、测试和验证八、考虑使用容器技术endl [08:41:07 rootcentos7 ~]# yum -y install nscd Loaded plugins: fas…...

Qt字符编码

目前字符编码有以下几种: 1、UTF-8 UTF-8编码是Unicode字符集的一种编码方式(CEF),其特点是使用变长字节数(即变长码元序列、变宽码元序列)来编码。一般是1到4个字节,当然,也可以更长。 2、UTF-16 UTF-16是Unicode字符编码五层次…...

Ubuntu用docker安装AWVS和Nessus(含破解)

Ubuntu安装AWVS(更多搜索:超详细Ubuntu用docker安装AWVS和Nessus) 首先安装docker,通过dockers镜像安装很方便,且很快;Docker及Docker-Compose-安装教程。 1.通过docker search awvs命令查看镜像; docker search awvs…...

tauri开发中如果取消了默认的菜单项,复制黏贴撤销等功能也就没有了,解决办法

取消默认的菜单项:清除tauri默认的菜单项,让顶部的菜单menu不显示-CSDN博客 就是通过配置空菜单,让菜单不显示,但是这个引发的问题就是复制黏贴撤销等功能也就没有了,解决办法: 新增加编辑下的子菜单&…...

HNU-小学期-专业综合设计

写在前面 选题:大数据技术-智慧交通预测系统 项目github地址(如果有用麻烦点个star与follow):https://github.com/wolfvoid/HNU-ITPS (全部代码以及如何部署参见README) 项目报告:如下&…...

Linux安装es和kibana

安装Elasticsearch 参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/targz.html#targz-enable-indices 基本步骤下载包,解压,官网提示: wget https://artifacts.elastic.co/downloads/elasticsearc…...

第二十六章 Vue之在当前组件范围内获取dom元素和组件实例

目录 一、概述 二、获取dom 2.1. 具体步骤 2.2. 完整代码 2.2.1. main.js 2.2.2. App.vue 2.3. BaseChart.vue 三、获取组件实例 3.1. 具体步骤 3.2. 完整代码 3.2.1. main.js 3.2.2. App.vue 3.2.3. BaseForm.vue 3.3. 运行效果 一、概述 我们过去在想要获取一…...

Markdown 区块

再段落开头,使用>符号,在符号后面按空格,效果图是最左侧有一条灰色的粗线,这是一级区块 二级区块和三级区块只需要在一级的后面加>符号,就可以进入二级区块,效果如下图 还可以在区块内部签到无序列表…...

ctf文件上传题小总结与记录

解题思路:先看中间件,文件上传点(字典扫描,会员中心),绕过/验证(黑名单,白名单),解析漏洞,cms,编辑器,最新cve 文件上传漏…...

什么是QAM

什么是调制呢? 调制就是把信号形式转换成适合在信道中传输的一个过程。可分为基带调制和载波调制。我们这里所说的调制都是载波调制。 什么是载波调制呢? 就是把调制信号骑到载波上,方法就是用调制信号去控制载波的参数,使载波…...