JavaWeb——Web入门(8/9)- Tomcat:基本使用(下载与安装、目录结构介绍、启动与关闭、可能出现的问题及解决方案、总结)

目录

基本使用内容

下载与安装

目录结构介绍

启动与关闭

启动

关闭

可能出现的问题及解决方案

问题一:启动时窗口一闪而过

问题二:端口号冲突

问题三:部署应用程序

总结


基本使用内容

Tomcat 服务器在 Java Web 开发中扮演着至关重要的角色,其基本使用涵盖了多个关键环节,对开发人员高效构建和部署 Web 应用起着举足轻重的作用。

Tomcat 服务器的基本使用包括下载、安装、卸载、启动、访问、部署等一系列操作。

下载与安装

  • 下载:官网下载,地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads

对于 Tomcat 的下载,我们直接去访问官方网站,就可以下载到一个对应的安装包。(可以选择压缩包的格式)

  • 安装:绿色版,直接解压即可

由于 Tomcat 和 Maven 一样,都是绿色版的。我们直接将压缩包解压出来,Tomcat 就安装完成了。如果我们要卸载,直接将解压后的这个目录删除掉就可以。

目录结构介绍

安装完成之后,那我们还需要介绍一下 Tomcat 解压出来的这几个文件夹它们的含义。

首先第一个,bin 目录存放的是可执行文件。我们要启动 Tomcat、要停止 Tomcat,都要去访问 bin 目录下的可执行文件。

第二个是 conf,这个存放的是 Tomcat 当中的配置文件。

第三个,lib 内部存放的是 Tomcat 依赖的 jar 包。因为 Tomcat 是基于 Java 开发的。

再往下走,logs 存放的是日志文件。Tomcat 开始运行所产生的一些日志,都存放在 logs 这个文件夹下。

temp 是临时文件。

webapps 存放的是应用程序的发布目录。也就是说我们要部署应用程序,就需要将应用程序放在webapps 这个目录下。

work 是 Tomcat 的工作目录,是服务器在运行过程中用于存储临时文件、编译结果和中间状态信息的地方。

启动与关闭

启动

  • 启动:双击:bin\startup.bat 可执行文件

启动 Tomcat,我们只需要访问 bin 目录下的一个脚本文件,叫做 startup.bat。

我们直接双击一下这个脚本,就可以将 Tomcat 启动起来。Tomcat 运行起来之后,默认占用的端口号是 8080。

如果日志中的中文出现乱码,是因为在 Tomcat 默认的配置当中,控制台输出日志这一块的编码默认是 UTF-8,我们把这个选项改为 GBK 就可以了。

我们直接将当前 Tomcat 停掉,来修改一下这项配置。到conf目录下,有一个叫做 logging.properties 的文件。

打开它,去找控制台编码,

Ctrl handler 点 incode,把这个 UTF-8 改为 GBK就可以了。Ctrl+S 保存一下。直接将这份配置文件关掉。然后再次打开 bin 目录,双击 startup.bat

现在看中文就没有出现乱码了

关闭

  • 直接×掉运行窗口:强制关闭
  • bin\shutdown.bat:正常关闭
  • Ctrl+C:正常关闭

停掉 Tomcat 的方式,有这么三种。第一种你可以直接点击这个窗口上面的这个叉,就可以将这个Tomcat 强制关闭掉了。

第二种方式,就是你去点击这个 shutdown.bat 文件(bin目录下),双击一下就可以将 Tomcat 关闭掉,这是正常停止。

第三种,就是直接按 Ctrl+C 也是正常关闭。

可能出现的问题及解决方案

问题一:启动时窗口一闪而过

我们在启动 Tomcat 的时候,双击 startup.bat 这个批处理文件,双击之后这个黑窗口一闪而过。

那这个时候就说明你的 JAVA_HOME 这个环境变量配置的是有问题的。

JAVA_HOME 环境变量的配置这里就不再赘述了。

问题二:端口号冲突

如果我们在启动 Tomcat 的时候,报出了错误,叫做 BindException,那么就说明端口号冲突了。

如果出现端口冲突,我们就需要找到对应的程序,将其关闭掉。

或者可以打开你的任务管理器,打开任务管理器之后点击详细信息,在这个里面去找你的 Java 进程就可以。一般 8080 端口,基本上都是 Java 进程占用的。

将占用8080端口的进程结束掉之后,我们再次启动 Tomcat就可以了

如果不能关闭占用端口的程序,也可以考虑修改一下 Tomcat 的端口号。只需要操作一份配置文件,在 config 下有一份配置文件,叫做 server.xml。

我们只需要把里面的 post 等于 8080 这个默认项,修改一下就可以。

关于这个端口号,还有一个注意事项。

注意事项:

  • HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。

我们需要说明一下。HTTP 协议默认端口号是 80。如果你把 Tomcat 的端口号这一块,由 8080 改为 80,那将来你在访问这个 Tomcat 的时候,你是不用输入端口号的。

我们可以打开浏览器,现在我 Tomcat 监听的是 8080,不是 80。我直接访问 localhost:80,我回车之后大家看一下效果。我回车大家会看到,只有 localhost ,冒号 80 不见了。

这就是因为 HTTP 协议默认端口就是 80,你加了冒号 80 和你不加效果是一样的,所以浏览器会自动的把这个 80 给省略掉了.

问题三:部署应用程序

我们怎么往 Tomcat 当中部署应用程序呢?

只需要将我们的项目,放置在 webapps 这个目录下,部署就完成了。

我们再来演示一下。

我们直接在webapps这个目录下新建一个 Test目录,然后把我们之前写的请求方式演示的网页复制进去。

然后我们就可以直接打开浏览器,来访问:

总结

这一小节演示了一下 Tomcat 的基本使用,主要讲解了这么几个方面。

首先了解了 Tomcat 的安装,由于它是一个绿色版的软件,解压完成也就意味着安装完成了。

而要卸载,也非常简单,直接将解压后的文件夹删除掉即可。

启动,我们只需要双击一下 bin 目录下的 startup.bat 这个批处理文件。

而停止方式有很多,我们可以在窗口当中,按 Ctrl+C 或者点击上面的叉,或者直接执行 bin 目录下的 shutdown.bat 这个批处理文件双击一下。

最后一步部署,我们只需要将我们开发好的 Web 应用,放置在 webapps 这个目录下就可以了。


END


学习自:黑马程序员——JavaWeb课程

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

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

相关文章

PostgreSQL中如果有Left Join的时候索引怎么加

在PostgreSQL中,当你的查询包含多个LEFT JOIN和WHERE条件时,合理地添加索引可以显著提高查询性能。以下是一些具体的优化步骤和建议: 1. 分析查询 使用 EXPLAIN ANALYZE 命令分析你的查询,了解查询的执行计划,识别出连…

通过DNS服务器架构解释DNS请求过程

在前面的章节,这里,基于PCAP数据包和RFC文档详细介绍了DNS请求和响应的每个字段的含义。但是在现实的网络世界中,DNS请求和响应的数据包是怎么流动的,会经过哪些设备。本文将着重说明一下目前网络空间中DNS请求和响应的流动过程。 当前网络空间中比较常见DNS请求的流程如下…

aspose如何获取PPT放映页“切换”的“持续时间”值

aspose如何获取PPT放映页“切换”的“持续时间”值 项目场景问题描述问题1:从官方文档和资料查阅发现并没有对切换的持续时间进行处理的方法问题2:aspose的依赖包中,所有的关键对象都进行了混淆处理 解决方案1、找到ppt切换的持续时间对应的混…

GIT:如何查找已删除的文件的历史记录

首先你得知道文件的名称和路径 然后打开 gitlab,到项目中,仓库-> 文件 查找文件 复制文件名到可能存在过这个文件的分支当中,就能看到了

自动渗透测试与手动渗透测试

根据《渗透测试中发现的 5 种常见网络安全威胁》报告,渗透测试越来越受欢迎。预计到 2025 年,渗透测试市场规模将达到 45 亿美元。 什么是自动渗透测试? 自动化渗透测试工具可以快速有效地检查系统中是否存在已知的安全问题,即使…

使用elementUI实现表格行拖拽改变顺序,无需引入外部库

前言: 使用vue2element UI,且完全使用原生的拖拽事件,无需引入外部库。 如果表格数据量较大,或需要更多复杂功能,可以考虑使用 vuedraggable库,提供更多配置选项和拖拽功能。 思路: 1. 通过el-table的ro…

WPF Prism框架

Prism 是一个开源框架,专门用于开发可扩展、模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin Forms 等平台。它基于 MVVM(Model-View-ViewModel)设计模式&am…

C#开发流程

注:检查数据库链接 设置搜索 1.新建模块文件夹 对应应用 右键-添加-新建文件夹 2.新建类 在新建模块下右键 新建-类,修改类名称 修改internal为public 新建所需字段,注意类型声明及必填设置 [SugarColumn(IsNullable false)]public strin…

区块链应用第1讲:基于区块链的智慧货运平台

基于区块链的智慧货运平台 网络货运平台已经比较成熟,提供了给货源方提供找司机的交易匹配方案;其中包含这几个角色:货主、承运人(司机、车队长)、监管机构、平台。司机要想接单,依赖于多个中心化的第三方平台,且三方平…

计算机毕业设计 | SpringBoot智慧⾼校学术报告系统 AI写作大模型生成平台(附源码)

1,项目介绍 智慧⾼校学术报告系统是⼀个基于 SpringBoot 开发的标准 Java Web 项⽬。系统整体⻚⾯设计简约⼤⽓,巧妙融合了⽬前备受瞩⽬的 AIGC ⽣成式 AI 技术,选择了阿⾥通⽤千问⼤语⾔模型,以智能⽣成趣味报告标题和润⾊报告内…

万字长文解读机器学习——决策树

🌺历史文章列表🌺 机器学习——损失函数、代价函数、KL散度机器学习——特征工程、正则化、强化学习机器学习——常见算法汇总机器学习——感知机、MLP、SVM机器学习——KNN机器学习——贝叶斯机器学习——决策树机器学习——随机森林、Bagging、Boostin…

在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能

在Django中可以使用CKEditor4和CKEditor5两个版本,分别对应软件包django-ckeditor和django-ckeditor-5。原来使用的是CKEditor4,python manager.py makemigrations时总是提示CKEditor4有安全风险,建议升级到CKEditor5。故卸载了CKEditor4&…

实战项目:通过自我学习让AI学习五子棋 - 1 - 项目定义

项目介绍 五子棋是一种博弈游戏。在棋盘上黑子和白子交替落子,先于在任何方向上将至少五个棋子连在一起的一方获胜。在我们这个项目中我们尝试使用自学习的方法训练出一套走五子棋的算法。 这个项目本身并无特别大的实用价值。我们的目的在于: 尝试自…

从0开始搭建一个生产级SpringBoot2.0.X项目(十二)SpringBoot接口SpringSecurity JWT鉴权

前言 最近有个想法想整理一个内容比较完整springboot项目初始化Demo。 SpringBoot接口权限控制 SpringSecurity 接口使用 Bearer token类型 JWT 鉴权 一、pom文件新增依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>s…

JavaEE初阶---properties类+反射+注解

文章目录 1.配置文件properities2.快速上手3.常见方法3.1读取配置文件3.2获取k-v值3.3修改k-v值3.4unicode的说明 4.反射的引入4.1传统写法4.2反射的写法&#xff08;初识&#xff09;4.3反射的介绍4.4获得class类的方法4.5所有类型的class对象4.6类加载过程4.7类初始化的过程4…

【React】深入理解 JSX语法

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解 JSX语法1. JSX 简介2. JSX 的基本语法2.1 基本结构2.2 与普通 JavaScr…

Spark中给读取到的数据 的列 重命名的几种方式!

目录 一、第一种 (withColumnRenamed) 二、第二种&#xff08;toDF&#xff09; 三、第三种&#xff08; toDF(*tuple1) &#xff09; 四、 第四种(schema) 五、假如文件里自带有列名的情况&#xff08;option&#xff09; 一、第一种 (withColumnRenamed) 假设要把如下…

M1M2 MAC安装windows11 虚拟机的全过程

M1/M2 MAC安装windows11 虚拟机的全过程 这两天折腾了一下windows11 arm架构的虚拟机&#xff0c;将途中遇到的坑总结一下。 1、虚拟机软件&#xff1a;vmware fusion 13.6 或者 parallel 19 &#xff1f; 结论是&#xff1a;用parellel 19。 这两个软件都安装过&#xff0…

IEEE JSSC更新|Tiny Tapeout:让每个人都能设计定制芯片

简介 由于成本高昂且需要专业技术&#xff0c;设计和制造定制集成电路的传统上仅限于大型公司和机构。然而&#xff0c;名为Tiny Tapeout的创新项目正在改变这一现状&#xff0c;让业余爱好者、学生和小型团队也能设计定制芯片。本文将探讨Tiny Tapeout的工作原理&#xff0c;以…

Java:一段代码,无限可能

Java&#xff0c;诞生于1995年&#xff0c;如今已走过近三十载春秋。它历经互联网泡沫的兴衰、移动互联网的浪潮&#xff0c;以及云计算和大数据的洗礼&#xff0c;依然屹立在编程语言的舞台中央&#xff0c;散发着耀眼的光芒。这篇文章将带你回顾Java的辉煌历史&#xff0c;探…