【windows】安装 Tomcat 及配置环境变量

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 一、前言
  • 二、官网下载安装包
  • 三、解压 Tomcat 压缩包
  • 四、配置环境变量
  • 五、测试是否配置成功、启动 Tomcat 服务
  • 六、页面访问
  • 七、部署完成

一、前言

因为最近在windows上安装了一个Tomcat,因为版本比较低;而最近在扫描服务漏洞,刚好也扫描了一些windows上的服务,就扫出来了一个漏洞,所以简单点就需要更新一下版本,来解决tomcat的漏洞问题;
漏洞名称为:(CVE-2021-31805) 远程代码执行漏洞,所以需要升级一下 Tomcat ,本次 Tomcat 升级到 9.0.82 版本 。

二、官网下载安装包

Tomcat官方下载地址:https://tomcat.apache.org/

  • 点击左侧的 Tomcat 9

在这里插入图片描述

  • 找到自己需要的版本 并 根据自己的电脑位数来下载,我这里是64位

在这里插入图片描述

三、解压 Tomcat 压缩包

将下载的包解压到自己想要放的目录;这里我放到桌面下,(因为这里做一下测试,所以就直接放到桌面了),放到桌面下之后解压apache-tomcat压缩包;

在这里插入图片描述

  • 可以看到以下是解压下来文件中的内容

在这里插入图片描述

四、配置环境变量

解压完之后,这里不需要做什么安装操作,只需要配置一下环境变量即可;

此电脑 --> 属性 --> 高级系统设置 --> 环境变量

这里此电脑 --> 属性 --> 高级系统设置这块我就不展示了,大家应该都可以找到吧;

在这里插入图片描述

系统变量 --> 新建
变量名:CATALINA_HOME
变量值:Tomcat的解压路径

在这里插入图片描述

点击确定 --> 找到系统变量中的Path --> 编辑
添加:

提示:这里根据windows版本的不同,添加环境变量的path的显示可能就不一样;

如果path变量值是一行一行的,那么在最后一行添加:%CATALINA_HOME%\bin就行;

如果path变量值是在一行中,那么在最后面添加:%CATALINA_HOME%\bin;
需要注意的是在一行中,在最后添加的时候需要注意前面是否有分号;,如果没有需要加上;

在这里插入图片描述

然后一直点击确定 --> 确定 --> 确定到桌面即可;

五、测试是否配置成功、启动 Tomcat 服务

进入 apache-tomcat-9.0.82/bin/目录,右击使用管理员执行 startup.bat 脚本;

启动结果如下图:

在这里插入图片描述

看到启动tomcat服务有乱码问题,我们先停止脚本,解决一下乱码问题;
停止tomcat服务:执行bin/下的shutdown.bat 脚本停止;

解决乱码问题:修改tomcat文件中的conf目录下的logging.properties:conf/logging.properties 文件中的 java.util.logging.ConsoleHandler.encoding,改为GBK即可;

java.util.logging.ConsoleHandler.encoding = GBK

在这里插入图片描述

修改完之后,保存退出后再执行startup.bat启动tomcat脚本,会发现没有乱码问题了;

在这里插入图片描述

到这里也就启动成功了。

六、页面访问

默认端口为8080

http://localhost:8080/

看到如下页面,则代表安装成功。

在这里插入图片描述

七、部署完成

更多windows相关知识,可订阅:《Windows相关技术》专栏。

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

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

相关文章

【学习】Python库addict,使用Dict 的类

from addict import Dict 这行代码导入了 Dict 类,它来自于 addict 模块。在这个上下文中,addict 是一个 Python 库,它提供了一个名为 Dict 的类,用于创建可通过属性访问的字典对象。 使用 addict 中的 Dict 类可以方便地创建字典…

【大模型】VS Code(Visual Studio Code)上安装的扩展插件用不了,设置VS Code工作区信任

文章目录 一、找到【管理工作区信任】二、页面显示处于限制模式,改为【信任】三、测试四、总结 【运行环境】win 11 相关文章: 【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程 【问题】之前在 VS Code上安装 CodeGeeX 插件后&…

Qt创建窗口选择的三个父类介绍 ----- QWidget、QMainWindow、QDialog

QWidget类 简介 QWidget是Qt中所有用户界面元素的基类。它提供了窗口的基本功能,并允许用户自定义窗口的外观和行为。QWidget可以包含其他QWidget子类的子窗口,从而实现复杂的用户界面。 特性 提供了窗口的基本功能,包括绘制、事件处理、…

Linux命令学习入门

文章目录 登录注销关机重启Vim编辑器快捷键文件目录类打包、解包、压缩和解压指令输出重定向>和追加>>指令时间日期类搜索查找类用户管理文件所有者所在组权限管理变更权限crond任务时间调度crond相关指令:特殊符号说明: at定时任务磁盘分区磁盘…

作用域闭包

一、闭包的概念 当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数时在当前词法作用域之外执行。 下面用一些代码来解释这个定义。 function foo(){var a 2;function bar() {console.log(a);}bar(); }foo();这段代码看起来和嵌套作用域…

记录三菱:Works2-FB块

创建一个FB块,启保停,定义输入输出引脚,注意这里的数据类型是Bit 打开主程序,将FB块拖出来 启保停:加入时间设定,时间显示倒着

nginx集群部署访问不了怎么解决

如果你的Nginx集群部署无法访问,可能有多种原因导致,以下是一些常见的解决方法: 检查网络连接:确保服务器之间的网络连接是正常的,可以通过ping命令或telnet命令检查服务器之间的网络连通性。 检查防火墙设置&#xff…

docker基础(四)之docker run(第一弹)

目录 概述语法命令选项用法速查OPTIONS说明:-a stdinSTDIN/STDOUT/STDERR指的是什么?举例将容器的标准输入、标准输出、标准错误重定向到本地文件将容器的标准流重定向到设备将容器的标准流重定向到网络 -d示例应用场景返回的容器ID作用怎么通过容器ID查…

基于C/C++的easyx实现贪吃蛇游戏

文章目录: 一:运行效果 1.演示 2.思路和功能 二:代码 文件架构 Demo 必备知识:基于C/C的easyx图形库教程 一:运行效果 1.演示 效果图◕‿◕✌✌✌ 基于C/C的easyx实现贪吃蛇游戏运行演示 参考:【C语…

5.5.5、【AI技术新纪元:Spring AI解码】使用PGvector设置向量存储及进行相似性搜索

使用PGvector设置向量存储及进行相似性搜索 本节指导您如何设置PGvector VectorStore来存储文档嵌入并执行相似性搜索。 PGvector是一个开源的PostgreSQL扩展,能够支持存储和搜索机器学习生成的嵌入向量,提供查找精确和近似最近邻的功能。它设计得与PostgreSQL的其他特性无…

Oracle:ORA-01830错误-更改数据库时间格式

1,先把报错SQL语句拿出来执行,看看是不是报的这个错 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 2,然后查看默认日期格式是不是“YYYY-MM-DD HH24:MI:SS”(正确格式)。; 执行: SELECT * FRO…

citus的快速开始

准备 dockercitus最新版本(docker pull citusdata/citus) docker网络 docker network create --subnet172.72.9.0/24 citus-test docker network ls启动citus服务 启动协调节点 docker run -dit --name citus-cod -p 5433:5432 -e POSTGRES_PASSWOR…

Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)

Self-Attention和RNN、LSTM的区别 RNN的缺点:无法做长序列,当输入很长时,最后面的输出很难参考前面的输入,即长序列会缺失上文信息,如下: 可能一段话超过50个字,输出效果就会很差了 LSTM通过忘…

【SAP-ABAP】CO01保存时错误DBSQL_DUPLICATE_KEY_ERROR

找到该表的主键OBJNR,事务代码SM56中查看当前缓冲到该key的号码段,事务代码SNRO修改对象名称OBJNR编号范围状态。 事务代码SM13查看数据更新记录

静态路由实验配置

题目及实验图 第一步划分IP IP配置如下 1&#xff09;R1&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sy R1 [R1]int g 0/0/0 [R1-GigabitEthernet0/0/0]ip ad 192.168.1.1 30 [R1-GigabitEthernet0/0/1]ip ad 192.168.1.5…

LeetCode 热题 HOT 100(P21~P30)

系列文章&#xff1a; LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LeetCode 热题 HOT 100(P21~P30)-CSDN博客 LC48rotate_image . - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表…

for循环三种跳出循环的方法(retrun、continue、break)

return return是最常用的&#xff0c;不能单独在for循环中使用&#xff0c;要在函数中配合使用。 function fn () {for (var i 1; i < 5; i) {if (i 4) {return false;}console.log(i); // 分别输出 1&#xff0c;2, 3}console.log(end); // 未执行 } fn();使用return会…

JavaScript 如何设置私有属性

ES6之前的私有属性模拟 1、构造函数形式创建对象 function Person(name) {let _name name; // 私有属性this.getName function() {return _name;};this.setName function(newName) {_name newName;}; }let person new Person(Alice); console.log(person.getName()); //…

一文彻底搞懂Redis底层数据结构

文章目录 1. 数据结构与数据类型的关系2. 底层数据结构详解2.1 SDS: 简单动态字符串2.2 双端链表2.3 压缩列表2.4 哈希表2.5 整数集合2.6 跳表2.7 quicklist2.8 listpack 1. 数据结构与数据类型的关系 Redis是一个基于内存的数据存储系统&#xff0c;它支持多种数据结构和数据…

vue项目报这个错是 Same `value` exist in the tree: 0008E3000E1A?

警告 "Same value exist in the tree: 0008E3000E1A" 表示在树形选择器中存在相同的值。这通常是由于树形选择器的数据中存在重复的值造成的。就是返回的值中&#xff0c;有俩个id相同