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

Apache Tomcat下载安装配置使用超详细

下载安装

tomcat官网
在这里插入图片描述
在此我们以Tomcat 9.0.81为例,点击下载压缩包,解压到自己的文件夹。
在这里插入图片描述

  • tar.gzlinux操作系统下的安装版本。
  • zipwindows系统下的压缩版本。
  • Windows Service Installerwindows操作系统下的exe安装版本。

检查是否配置JDK

1.win+r,输入cmd回车

在这里插入图片描述

2.输入Java检查是否安装jdk

在这里插入图片描述

3.输入java -version查看自己的jdk版本

在这里插入图片描述

配置环境变量

1.右键此电脑——属性

点击高级系统设置
在这里插入图片描述
点击环境变量
在这里插入图片描述

2.新建系统变量

新建JAVA_HOME,变量值:jdk的安装目录。
在这里插入图片描述
找到系统变量中的Path 然后编辑,新建%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
在这里插入图片描述
新建CLASSPATH,变量值:“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”。

测试Tomcat

tomcat 目录下的 bin 目录,找到 startup.bat 文件,双击运行。
在这里插入图片描述

启动成功后不要关闭此窗口。

打开浏览器 输入 localhost:8080 或者127.0.0.1:8080。出现此页面即成功启动tomcat
在这里插入图片描述

关闭Tomcat

  1. 直接关闭 tomcat 启动窗口
  2. tomcat 目录下 bin 目录,查找其中的 shutdown.bat 命令,双击关闭服务器。

启动常见问题

1. 无法启动(闪退:cmd命令窗口出现一下,就消失)

主要原因:没有配置JAVA_HOME系统变量。JAVA_HOME环境变量中配置的是JDK的安装路径,不包含bin目录,不是Tomcat的安装目录。
闪退的原因查看:可以在 startup.bat 文件末尾书写 pause 命令。让运行的窗口暂停。

2.端口被占用导致启动失败

如果启动的时候,发生异常问题,可能是端口被占用。
Tomcat服务器在启动的时候默认占用本地的8080端口,如果这个端口被占用,启动就会报错。
报错内容可以通过查询 tomcat 目录下的 logs 目录中 Catalina.当前系统年月日.log 文件查看:
在这里插入图片描述
在这里插入图片描述
解决方法:

  1. 结束当前占用此端口的进程,使用netstat-ano命令,找到进程并结束。
  2. 修改tomcat端口:
    找到tomcat目录下的config目录,找到server.xml文件,打开。

server.xml:服务器端口配置,服务器自身配置文件

在这里插入图片描述
在这里插入图片描述

3.启动时乱码问题

找到tomcat下的config文件夹,找到 logging.properties 并打开。
在这里插入图片描述

Tomcat目录介绍

在这里插入图片描述

在idea中配置Tomcat

首先创建一个New Project项目,然后项目右键,点击Add Framework Support...
在这里插入图片描述
选择Web ApplicationVersions选择4.0。
在这里插入图片描述
idea右上角点击设置,点击Project Structure...
在这里插入图片描述
点击ProjectSDK选择当前使用JDK版本,Language level选择17。
在这里插入图片描述
点击Modules,点开项目名称,选择Web,如果xml地址和web根目录存在则不做任何操作,不存在点击+添加。
在这里插入图片描述
点击Artifacts,点击+,选择Web Application:Exploded,选择From Modules...
在这里插入图片描述
在项目目录web下配置web.xml,下载Servlet的jar包,存放到lib目录下。
在这里插入图片描述
写一个Java程序,点击Edit Configurations
在这里插入图片描述
点击+,选择Tomcat Server下面的Local
在这里插入图片描述
点击deployment,点击+,选择Artifact
在这里插入图片描述
运行程序后,在浏览器中输入配置的项目路径。
在这里插入图片描述

附加

启动tomcat服务后,浏览器访问http://localhost:8080/,出现页面的主要操作有
在这里插入图片描述
其中,Server StatusManager AppHost Manager需要设置用户名密码才能进入。设置方法:
找到 tomcat/conf/tomcat-users.xml 文件
在这里插入图片描述
<tomcat-users> 节点中添加如下代码:
在这里插入图片描述
其中, manager-gui 是进入 Manager AppServer Status 的权限。
Manager App界面可以看到当前tomcat服务上所有的应用相关信息,在这里可以部署项目。

相关文章:

Apache Tomcat下载安装配置使用超详细

下载安装 tomcat官网 在此我们以Tomcat 9.0.81为例&#xff0c;点击下载压缩包&#xff0c;解压到自己的文件夹。 tar.gz是linux操作系统下的安装版本。zip是windows系统下的压缩版本。Windows Service Installer是windows操作系统下的exe安装版本。 检查是否配置JDK 1.…...

基于Seata的分布式事务方案

在Seata中&#xff0c;有4种分布式事务实现方案 XA、AT、TCC、Saga 其中XA利用了数据库的分布式事务特性&#xff0c;AT相当于框架去控制事务回滚。TCC手写三个方法&#xff0c;saga手写两个方法。 AT的性能和编写比较折中&#xff0c;是最常用的一种。TCC一些视频教程中介绍…...

指令跳转:原来if...else就是goto

目录 CPU 是如何执行指令的&#xff1f; 从 if…else 来看程序的执行和跳转 如何通过 if…else 和 goto 来实现循环&#xff1f; 小结 你平时写的程序中&#xff0c;肯定不只有 int a 1 这样最最简单的代码或者指令。我们总是要用到 if…else 这样的条件判断语句、while 和…...

【数据库系统概论】第四章数据库安全性

数据库的安全性&#xff1a;保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 grant和revoke语法...

如何正确的关闭Redis服务器

Redis官方原生版本是在Linux平台上开发和测试的&#xff0c;但是大多数初学者都是使用Windows系统来学习如何开发的。因此&#xff0c;官方提供了一个叫做“Microsoft Open Tech Redis”的项目&#xff0c;该项目专门为Windows平台提供了一个官方支持的Redis版本&#xff0c;但…...

MySQL日志管理和权限管理(重点)

目录 一、日志管理1.错误日志2.二进制日志3.慢查询日志 二、权限管理(重点)1.用户登录管理2.创建用户及授权3.刷新权限4.权限简介5.查看权限7.修改密码8、删除用户9、查看密码复杂度 一、日志管理 日志类型 1、错误日志&#xff1a;启动&#xff0c;停止&#xff0c;关闭失败报…...

Maven 使用教程(二)

一、如何创建JAR并将其安装在本地存储库中&#xff1f; 制作JAR文件非常简单&#xff0c;可以通过执行以下命令来完成&#xff1a; mvn package现在可以查看${project.basedir}/target目录&#xff0c;您将看到生成的JAR文件。 现在&#xff0c;您需要将生成的工件&#xff0…...

[Swift]同一个工程管理多个Target

1.准备 先创建一个测试工程“ADemo”&#xff0c;右键其Target选择Duplicate&#xff0c;再复制一个Target为“ADemo2”。 再选择TARGETS下方的“”&#xff0c;添加一个APP到项目中&#xff0c;这个命名为“BDemo”。 2、管理多个Target 可以对三个target分别导入不同的框…...

DevExpress Reporting中文教程 - 如何在macOS等系统中生成导出报表文档

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 在本文中&#xff0c;我们将讨论如何在.NET MA…...

1967作为子字符串出现在单词中的字符串数目

java解法&#xff0c;程度&#xff1a;简单 说明 给你一个字符串数组 patterns 和一个字符串 word &#xff0c;统计 patterns 中有多少个字符串是 word 的子字符串。返回字符串数目。 子字符串 是字符串中的一个连续字符序列。 示例 1&#xff1a; 输入&#xff1a;patter…...

CocosCreator 面试题(二)JavaScript中的prototype的理解

1、原型&#xff08;prototype&#xff09;的作用 在JavaScript中&#xff0c;每个函数都有一个特殊的属性叫做"prototype"&#xff0c;它是一个对象。 原型&#xff08;prototype&#xff09;在JavaScript中用于实现对象之间的继承和共享属性。当创建一个函数时&am…...

python:从Excel或者CSV中读取因变量与多个自变量,用于训练机器学习回归模型,并输出预测结果

作者:CSDN @ _养乐多_ 本文详细记录了从Excel读取用于训练机器学习模型的数据,包括独立变量和因变量数据,以供用于机器学习模型的训练。这些机器学习模型包括但不限于随机森林回归模型(RF)和支持向量机回归模型(SVM)。随后,我们将测试数据集应用于这些模型,进行预测和…...

pycharm连接gitlab

1、下载安装gitlab 下载地址&#xff1a;Git - Downloading Package 下载后傻瓜式安装&#xff0c;注意勾选配置环境变量 未配置自己配置&#xff0c;电脑-属性-高级系统配置-环境变量 系统变量path&#xff1a;添加git安装目录下bin目录 2、检验安装完成 桌面右键git-open…...

【C/C++数据结构 - 2】:稳定性与优化揭秘,揭开插入排序、希尔排序和快速排序的神秘面纱!

文章目录 排序的稳定性插入排序插入排序的优化 希尔排序快速排序 排序的稳定性 稳定排序&#xff1a;排序前2个相等的数在序列中的前后位置顺序和排序后它们2个的前后位置顺序相同。&#xff08;比如&#xff1a;冒泡、插入、基数、归并&#xff09; 非稳定排序&#xff1a;排…...

PCL点云处理之基于强度特征的SIFT关键点提取法 (二百一十五)

PCL点云处理之基于强度特征的SIFT关键点提取法 (二百一十五) 一、算法介绍二、具体实现1.代码2.效果一、算法介绍 继续SIFT关键点的提取介绍,之前已经基于高程和颜色分别提取了关键点,这里是基于强度信息,若遇到文件无法读取强度问题,请参考上一篇博文,下面是具体的实现…...

uniapp打包配置

安卓&#xff1a; 首先不管是什么打包都需要证书&#xff0c;安卓的证书一般都是公司提供或者自己去申请。然后把包名等下图框住的信息填上&#xff0c;点击打包即可。 ios&#xff1a;ios需要使用mac到苹果开发者平台去申请证书&#xff0c;流程可以参考下边的链接 参考链接…...

人大金仓分析型数据库最大量限制

数据库支持的最大量限制&#xff1a; 维度 限制 数据库大小 无限 表大小 无限 行大小 1.6 TB 域大小 1 GB 每个表的行数 281474976710656 (2^48) 每个表 / 视图的列数 1600 每个表的索引数 无限 每个索引的列数 32 每个表的表级约束 无限 表名长度 63 字节 列出的“无限”…...

centos 里面的service自启动app.jar,出现两个java进程,app是同一个端口

当使用jps -lv查看java虚拟机进程 app.jar启动后&#xff0c;居然出现两个启动进程&#xff0c;而且他们的端口都一样&#xff0c;同一端口&#xff0c;是不允许启动两个相同app的。 使用进程ps查看进程工具 #ps -aux 参数说明&#xff1a; a: 显示跟当前终端关联的所有进…...

【算法|双指针系列No.7】leetcodeLCR 007. 三数之和

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…...

ubuntu修改IP地址

参考&#xff1a;ubuntu修改配置IP地址和DNS的方法总结&#xff08;4种&#xff09;_ubuntu设置ip地址-CSDN博客 面对ubuntu18以上的版本&#xff0c;主要有两种界面&#xff1a;图形化界面和纯命令行界面。 图形化界面配置比较简单&#xff0c;命令行配置稍许复杂&#xff0c…...

java springboot 通过ConfigurationProperties给第三方bean注入属性

之前我们的文章 java boot将一组yml配置信息装配在一个对象中 讲过了 通过ConfigurationProperties将配置文件中的内容默认装配进属性类 但 这建立在 bean是自己定义的 如果 这是个第三方的类呢&#xff1f; 就比如 我们在 application 中写了一套数据源的加载规则 但需要用第…...

windows系统安装openssl并且转换证书格式

概述 碎碎念&#xff0c;如果你有MAC电脑&#xff0c;就别折腾了&#xff0c;直接用MAC电脑吧,不用安装直接用openssl 本文主要讲到了openssl的基本使用方法&#xff0c;开发环境为windows&#xff0c;开发工具为VS2019.本文主要是说明openssl如何使用&#xff0c;不介绍任何理…...

【GO】基础速成

简单介绍一下go好处 编译语言&#xff0c;可以提前报错同时又有python的一些优点&#xff0c;自带多线程 开始学习 学习网站&#xff1a;学习网站 值 包含&#xff1a;字符串、整型、浮点型、布尔型等等 字符串可以 进行拼接。 需要注意的是布尔型在go里面不自动转化为in…...

五子棋(C语言实现)

目录 构思 1、主程序 2、初始化 3、游戏菜单 4、打印棋盘 6、玩家下棋 7、判断输赢 8、功能整合 人机下棋 完整版&#xff1a; game.h game.c text.c 测试功能代码 构思 五子棋不必多介绍了&#xff0c;大家小时候都玩过哈。 我们要通过程序实现这个小游戏&…...

thymeleaf,bootstrap-fileinput 多文件上传

组件遍历上传 一、前端 <!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org" > <head><th:block th:include"include :: header(修改固定资产信息)" /><th:block th:include"include :: date…...

爬虫 | 基础模块了解

文章目录 &#x1f4da;http协议&#x1f4da;requests模块&#x1f4da;re模块&#x1f407; re.I 或 re.IGNORECASE&#x1f407;re.M或 re.MULTILINE&#x1f407;re.S 或 re.DOTALL&#x1f407; re.A 或 re.ASCII&#x1f407; re.X 或 re.VERBOSE&#x1f407;特殊字符类…...

CSS复习笔记

CSS 文章目录 CSS1.概念2.CSS 引入方式3.选择器基础选择器:标签选择器类选择器id 选择器通配符选择器 复合选择器:**后代选择器****子代选择器****并集选择器****交集选择器-了解****伪类选择器** 结构伪类选择器&#xff1a;**:nth-child&#xff08;公式&#xff09;**伪元素…...

编译linux的设备树

使用make dtbs命令时 在arch/arm 的目录Makefile文件中有 boot : arch/arm/boot prepare 和scripts是空的 在文件scripts/Kbuild.include中 变量build : -f $(srctree)/scripts/Makefile.build obj build变量虽然没有在arch/arm 的目录Makefile文件中定义&#xff0c;但…...

⛳ MyBatis 中 Mapper 接口工作原理实例解析

&#x1f38d;目录 ⛳ MyBatis 中 Mapper 接口工作原理实例解析&#x1f3a8; 一、Mapper 接口是怎么找到实现类的&#xff1f;&#x1f43e; 二、从一段代码看起&#x1f69c; 三、Mapper 接口&#x1f3ed; 四、Mapper 接口的动态代理类的生成&#x1f381; 五、总结 ⛳ MyBa…...

Android 音频可视化

Android音频可视化&#xff0c;指的是将音频的频率绘制到屏幕上&#xff0c;达到一种视觉效果&#xff0c;使播放或录制过程更加生动形象。 在Android进行视频可视化涉及的三个主要知识点,其中比较难以理解的傅里叶变换公式。 Android原生的Visualizer使用&#xff08;获取频…...