【Java Web】速通Tomcat

news2025/7/27 4:59:00

参考笔记:JavaWeb 速通Tomcat_tomcat部署java项目-CSDN博客


目录

一、Tomcat服务

        1. 下载和安装

        2. 启动Tomcat服务

        3. 启动Tomcat服务的注意事项

        4. 关闭Tomcat服务

二、Tomcat的目录结构

        1. bin 🌟

        2. conf 🌟

        3. lib

        4. logs

        5. temp

        6. webapps

        7. work

三、Web项目的标准结构

四、Tomcat部署Web应用

        1. 部署方式一

        2. 部署方式二

 五、IDEA中开发并部署运行Web项目

        1. IDEA关联本地Tomcat

        2. IDEA创建Web工程

        3. IDEA部署——运行Web项目

六、IDEA部署并运行Web项目的原理

七、IDEA配置Tomcat的细节补充

        1. 关于端口问题

        2. 关于out目录


一、Tomcat服务

        1. 下载和安装

下载

        Tomcat 官方网站:Apache Tomcat® - Welcome!

        Tomcat 下载哪个版本由自己决定,但在选择版本前,最好点击左侧的 "Which version? " 查看一下你要下载的 Tomcat 版本是否支持你安装的 Java 版本,如下图所示: 

        这里我下载的是 Tomcat 9 这个版本,Tomcat 9 支持的 Java 版本至少是 Java 8        

        点击左侧的 Tomcat 9,如下:

        然后页面往下拉,找到安装包:

安装 

        ① 查看是否正确安装 JDK 并配置 JAVA_HOME 

        ② 解压 Tomcat 到非中文目录下

        🆗,这样就算安装完毕了,接下来就是启动 Tomcat 服务了


        2. 启动Tomcat服务

         双击 bin 目录下的 startup.bat 启动文件,用来启动 Tomcat 服务,如下图所示 : 

        双击后会弹出 DOS 黑窗口,如下所示: 

        这里可以看到,DOS 窗口中的日志出现乱码的问题,这是因为 DOS  黑窗口使用的是 ANSI  编码。 ANSI  不是一种新的编码方案,而是泛指各个地区默认的字符编码

        在 Windows  系统下,中国大陆的 ANSI  编码默认就是 GBK  ,而 Tomcat 的日志信息使用的是 UTF-8  编码,这也就是发生乱码的原因

        解决方法:修改 conf/logging.properties ,将此处的 UTF-8 修改为 GBK 即可,如下图所示:

        关闭 DOS 黑窗口,重新启动 Tomcat 服务测试一下日志信息是否还会出现乱码问题:

        可以看到, 日志信息已经可以正常显示了,乱码问题解决

        🆗,DOS 黑窗口不要关闭,不然 Tomcat 服务会关闭

        接着在浏览器地址栏输入 "http://localhost:8080/" ,若成功跳转到如下页面,说明 Tomcat 启动成功,可以提供服务了


         3. 启动Tomcat服务的注意事项

        ① Tomcat 本质是一个 Java 程序,所以需要 JDK 的支持,Tomcat 会根据 JAVA_HOME 的环境变量的路径使用指定 JDK  ;因此如果 JAVA_HOME  环境变量没有配好,双击 startup.bat 不会成功(黑窗口闪一下立刻无了)

        ②  Tomcat  服务默认使用 8080  端口,如果有其它服务程序占用了 8080  端口,可以关闭该服务,或者修改 Tomcat 服务的默认端口 8080 为其他端口号

        修改默认端口的方法:修改 /conf/server.xml 即可。如下所示:

        ③ 除了双击 startup.bat 方式外,还可以在 bin 目录下的 cmd   窗口,输入 catalina run 或者 startup.bat 命令来启动 Tomcat 服务,如下所示:


         4. 关闭Tomcat服务

        ① 方式一:直接关闭 DOS 黑窗口(不推荐,太暴力)

        ② 方式二:双击 bin 目录下的 shutdown.bat 脚本文件(推荐);

               shutdown.bat 脚本会对启动的 Tomcat 服务发出一个关闭的指令,并且关闭 Tomcat 服务的操作日志会被记录在 Tomcat 目录  /logs/catlina.年-月-日.log 文件中,如下图所示 : 

二、Tomcat的目录结构

        Tomcat 的目录结构如下图所示:

        我们从第一个目录开始逐个了解,只需了解其的基本用处即可

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

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

相关文章

Docker快速部署数据同步工具DataX-Web

笔者最近有需求需要进行数据同步,目前确认DataX-Web适合快速搭建使用,满足基本需求。以此记录搭建Datax-Web过程和解决的坑。 一、启动MySQL容器 (1)首先,我们运行一个支撑DataX-Web运行的MySQL容器。 docker run --…

从零开始的云计算生活——第十四天,困难重重,安全管理。

一故事背景 在前面的基本无操作内容后,来到了大头内容,安全管理!其中的防火墙相关的内容更是重中之重,要好好掌握,熟练运用。 二SELinux安全上下文 1SELinux 简介 a. SELinux(Security-Enhanced Linux&…

【设计模式-4.6】行为型——状态模式

说明:本文介绍行为型设计模式之一的状态模式 定义 状态模式(State Pattern)也叫作状态机模式(State Machine Pattern),允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类…

换ip是换网络的意思吗?怎么换ip地址

在数字化时代,IP地址作为我们在网络世界的"身份证",其重要性不言而喻。许多人常将"换IP"与"换网络"混为一谈,实际上两者虽有联系却存在本质区别。本文将澄清这一概念误区,并详细介绍多种更换IP地址…

手机归属地查询接口如何用Java调用?

一、什么是手机归属地查询接口? 是一种便捷、高效的工具,操作简单,请求速度快。它不仅能够提高用户填写地址的效率,还能帮助企业更好地了解客户需求,制定个性化的营销策略,降低风险。随着移动互联网的发展…

随笔20250530 C# 整合 IC卡读写技术解析与实现

以下是一个完整、最简化的 FeliCa 读取整合示例(无需 SDK,基于 PCSC NuGet 包),你可以直接运行这个控制台程序,验证能否识别 RC-S300 并读取卡片 UID: 🧪 示例说明 📦 使用 NuGet 包…

基于爬取的典籍数据重新设计前端界面

1.BooksView(书籍列表页) 2.ClassicsView(目录页) 3.管理员端

揭秘 NextJS Script 组件

揭秘 NextJS Script 组件 Next.js 的 Script 组件是对原生 <script> 标签的增强封装&#xff0c;主要区别和优势如下&#xff1a; 自动优化加载策略&#xff08;支持按需/延迟加载&#xff09;避免重复加载内置性能优化&#xff08;如预加载、回调钩子&#xff09;简化…

【C++/Linux】TinyWebServer前置知识之IP协议详解

目录 IPv4地址 分类 IP数据报分片 IP 协议在传输数据报时&#xff0c;将数据报分为若干分片&#xff08;小数据报&#xff09;后进行传输&#xff0c;并在目的系统中进行重组&#xff0c;这一过程称为分片&#xff08;Fragmentation&#xff09;。 IP模块工作流程​编辑 I…

Codeforces Round 1028 (Div. 2)(A-D)

题面链接&#xff1a;Dashboard - Codeforces Round 1028 (Div. 2) - Codeforces A. Gellyfish and Tricolor Pansy 思路 要知道骑士如果没了那么这个人就失去了攻击手段&#xff0c;贪心的来说我们只需要攻击血量少的即可&#xff0c;那么取min比较一下即可 代码 void so…

记录一个梦,借助大语言模型图片生成

梦见家门口有一条大河&#xff0c;但大河和其它景物都是灰暗没有鲜艳色彩很普通的梦中场景。大河似乎是长江的支流&#xff0c;但也可能有一个响亮的名字似乎是金沙江。 突然看到一条金红色的龙在快速游动&#xff0c;不敢相信自己的眼睛&#xff0c;因为一直不相信有这种生物…

android binder(二)应用层编程实例

一、binder驱动浅析 从上图看出&#xff0c;binder的通讯主要涉及三个步骤。 在 Binder Server 端定义好服务&#xff0c;然后向 ServiceManager 注册服务在 Binder Client 中向 ServiceManager 获取到服务发起远程调用&#xff0c;调用 Binder Server 中定义好的服务 整个流…

【深度学习】17. 深度生成模型:DCGAN与Wasserstein GAN公式深度推导

深度生成模型:DCGAN与Wasserstein GAN公式深度推导 深度卷积生成对抗网络 DCGAN 在原始 GAN 框架中&#xff0c;生成器和判别器通常使用全连接层构建&#xff0c;这限制了模型处理图像的能力。为此&#xff0c;Radford 等人在 2016 年提出了 DCGAN&#xff08;Deep Convoluti…

设计模式——命令设计模式(行为型)

摘要 本文介绍了命令设计模式&#xff0c;这是一种行为型设计模式&#xff0c;用于将请求封装为对象&#xff0c;实现请求的解耦和灵活控制。它包含命令接口、具体命令、接收者、调用者和客户端等角色&#xff0c;优点是解耦请求发送者与接收者&#xff0c;支持命令的排队、记…

03 APP 自动化-定位元素工具元素定位

文章目录 一、Appium常用元素定位工具1、U IAutomator View Android SDK 自带的定位工具2、Appium Desktop Inspector3、Weditor安装&#xff1a;Weditor工具的使用 4、uiautodev通过定位工具获取app页面元素有哪些属性 二、app 元素定位方法 一、Appium常用元素定位工具 1、U…

PABD 2025:大数据与智慧城市管理的融合之道

会议简介 2025年公共管理与大数据国际会议&#xff08;ICPMBD 2025&#xff09;确实在海口举办。本次会议将围绕公共管理与大数据的深度融合、数据分析在公共管理中的应用、大数据驱动的政策制定与优化等议题展开深入研讨。参会者将有机会聆听前沿学术报告&#xff0c;分享研究…

Golang持续集成与自动化测试和部署

概述 Golang是一门性能优异的静态类型语言&#xff0c;但因其奇快的编译速度&#xff0c;结合DevOps, 使得它也非常适合快速开发和迭代。 本文讲述如何使用Golang, 进行持续集成与自动化测试和部署。主要使用了以下相关技术&#xff1a; dep&#xff1a; 进行包的依赖管理gin…

mysql离线安装教程

1.下载地址: https://downloads.mysql.com/archives/community/ 2.上传安装包到系统目录,并解压 tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar3.检查系统中是否存在mariadb的rpm包 rpm -qa|grep mariadb存在则删除 rpm -e xxx4.解压完后执行如下命令安装 sudo rpm -iv…

基于FPGA的VGA显示文字和动态数字基础例程,进而动态显示数据,类似温湿度等

基于FPGA的VGA显示文字和数字 前言一、VGA显示参数二、字模生成三、代码分析1.vga_char顶层2.vga_ctrl驱动文件3.vga_pic数据准备文件 总结 前言 结合正点原子以及野火的基础例程&#xff0c;理解了VGA本身基本协议&#xff0c;VGA本身显示像素为640*480&#xff0c;因此注意生…

力扣刷题Day 68:搜索插入位置(35)

1.题目描述 2.思路 方法1&#xff1a;回溯的二分查找。 方法2&#xff1a;看到了一个佬很简洁的写法&#xff0c;代码贴在下面了。 3.代码&#xff08;Python3&#xff09; 方法1&#xff1a; class Solution:def searchInsert(self, nums: List[int], target: int) ->…