Tomcat 的使用(图文教学)

Tomcat 的使用(图文教学)

  • 前言
  • 一、什么是Tomcat?
  • 二、Tomcat 服务器和 Servlet 版本的对应关系
  • 三、Tomcat 的使用
    • 1、安装
    • 2、目录介绍
    • 3、如何启动
    • 4、Tomcat 的停止
    • 5、如何修改 Tomcat 的端口号
    • 6、如何部暑 web 工程到 Tomcat 中
      • 6.1 方式一
      • 6.2 方式二
  • 四、两种访问页面的方式
    • 1、手托 html 页面到浏览器
    • 2、在浏览器中输入访问路径进行访问
  • 五、ROOT工程和index页面的默认访问
    • 1、ROOT 的工程的访问
    • 2、默认 index.html 页面的访 问
  • 六、IDEA 整合 Tomcat 服务器
  • 七、IDEA 中动态 web 工程的操作
    • 1、IDEA 中如何创建动态 web 工程
    • 2、Web 工程的目录介绍
    • 3、如何给动态 web 工程添加额外 jar 包
    • 4、如何在 IDEA 中部署工程到 Tomcat 上运行
    • 5、在 IDEA 中如何运行,和停止 Tomcat 实例。
    • 6、修改工程访问路径
    • 7、修改运行的端口号
    • 8、修改运行使用的浏览器



前言

本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!

一、什么是Tomcat?

Tomcat 是一款免费、开源的 Web 服务器和 Servlet 容器,由 Apache 软件基金会开发和维护。Tomcat 实现了 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(EL)和 WebSocket 等 Java 技术规范,可以作为 Web 应用程序的运行环境。

Tomcat 的特点包括:

  • 轻量级:Tomcat 的核心代码非常小,可以快速启动和运行,而且占用的系统资源较少,适合用于低配置的服务器。
  • 易于配置:Tomcat 提供了丰富的配置选项,可以通过修改配置文件来定制化 Tomcat 的行为。
  • 支持标准:Tomcat 实现了 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(EL)和 WebSocket 等 Java 技术规范,可以运行符合规范的 Web 应用程序。
  • 可扩展性:Tomcat 支持插件扩展,可以通过添加新的模块来增加功能。
  • 安全性:Tomcat 提供了多种安全机制,可以保护 Web 应用程序的安全性。

作为一个 Web 服务器和 Servlet 容器,Tomcat 可以用于部署和运行各种类型的 Web 应用程序,例如企业级应用、电子商务平台、博客、论坛等。Tomcat 也可以作为开发和测试 Web 应用程序时的本地开发服务器,支持快速的应用程序部署和调试。

二、Tomcat 服务器和 Servlet 版本的对应关系

Tomcat版本Servlet版本JavaEE版本运行环境版本
Tomcat 10Servlet 5.0JavaEE 8Java 11+
Tomcat 9Servlet 4.0JavaEE 7Java 8+
Tomcat 8Servlet 3.1JavaEE 7Java 7+
Tomcat 7Servlet 3.0JavaEE 6Java 6+
Tomcat 6Servlet 2.5JavaEE 5Java 5+

需要注意的是,Tomcat 6 已经停止维护,不再推荐使用。另外,实际应用中,JavaEE 版本可能不一定与 Servlet 版本完全对应,具体需根据应用的需求和兼容性进行选择。

三、Tomcat 的使用

1、安装

  1. 下载 Tomcat 安装包:首先你需要下载 Tomcat 的安装包,可以从 Tomcat 官网上下载,选择适合自己的版本即可。建议下载最新的稳定版本。

  2. 解压安装包:将安装包解压到你想要安装的目录下,例如 C:\Tomcat 或 /usr/local/tomcat。

2、目录介绍

Tomcat/
├── bin/
│   ├── catalina.sh
│   ├── catalina.bat
│   ├── startup.sh
│   ├── shutdown.sh
│   └── ...
├── conf/
│   ├── server.xml
│   ├── web.xml
│   └── ...
├── lib/
│   ├── catalina.jar
│   ├── servlet-api.jar
│   └── ...
├── logs/
├── temp/
├── webapps/
│   ├── ROOT/
│   ├── examples/
│   ├── docs/
│   └── ...
└── work/

下面是对目录的简要介绍:

  • bin/:包含了启动和关闭 Tomcat 的脚本以及其他一些工具。
  • conf/:包含了 Tomcat 的配置文件,例如 server.xml 和 web.xml。
  • lib/:包含了 Tomcat 运行时所需的 jar 文件。
  • logs/:包含了 Tomcat 运行时的日志文件。
  • temp/:包含了 Tomcat 运行时所需的临时文件。
  • webapps/:是放置 Web 应用程序的目录。
  • work/:包含了 Tomcat 运行时生成的临时文件。

3、如何启动

  1. 在 Windows 操作系统上,可以通过双击 Tomcat 安装目录下的 bin/catalina.bat 文件来启动 Tomcat。
  2. 启动后,可以通过浏览器访问 http://localhost:8080 来验证 Tomcat 是否启动成功。
  3. 当出现如下界面,说明 Tomcat 服务器启动成功!!!
    在这里插入图片描述

常见的启动失败的情况有,双击 startup.bat 文件,就会出现一个小黑窗口一闪而来。 这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。

配置 JAVA_HOME 环境变量:
在这里插入图片描述
常见的 JAVA_HOME 配置错误有以下几种情况:

  1. JAVA_HOME 必须全大写。
  2. JAVA_HOME 中间必须是下划线,不是减号-
  3. JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录。

4、Tomcat 的停止

三种方式:

  1. 点击 tomcat 服务器窗口的 x 关闭按钮
  2. 把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
  3. 找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器

5、如何修改 Tomcat 的端口号

Tomcat 默认的 HTTP 端口号是 8080,如果需要修改端口号,可以按照下面的步骤进行操作:

  1. 打开 conf/server.xml 文件。

  2. 找到以下代码:

    <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
    

    其中,port="8080" 表示 Tomcat 的 HTTP 端口号是 8080。

  3. 修改 port 属性的值为你需要的端口号。例如,将端口号修改为 8888,代码如下:

    <Connector port="8888" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
    
  4. 保存 server.xml 文件。

  5. 重新启动 Tomcat,使修改生效。

    如果是在 Windows 操作系统上,可以双击 Tomcat 安装目录下的 bin/catalina.bat 文件启动 Tomcat;如果是在 Linux 操作系统上,可以进入 Tomcat 安装目录下的 bin/ 目录,然后执行以下命令来启动 Tomcat:

    $ sh catalina.sh run
    
  6. 在浏览器中访问修改后的端口号,例如 http://localhost:8888/,验证端口号是否修改成功。

注意:如果端口号被占用,Tomcat 启动时会报错。在修改端口号时,要确保新端口号没有被其他程序占用。

6、如何部暑 web 工程到 Tomcat 中

6.1 方式一

将一个 Web 工程部署到 Tomcat 中,可以按照以下步骤进行操作:

  1. 将 Web 工程打成 war 包。

    在 Eclipse 或者其他 Java IDE 中,可以通过选择 Web 工程右键菜单中的“Export”或“Export as WAR file”选项,将 Web 工程打成 war 包,保存到本地。

  2. 将 war 包复制到 Tomcat 的 webapps/ 目录下。

    将刚才打成的 war 包,复制到 Tomcat 的 webapps/ 目录下。Tomcat 会自动将其解压并部署。

  3. 启动 Tomcat。

    在 Windows 操作系统上,可以双击 Tomcat 安装目录下的 bin/catalina.bat 文件启动 Tomcat;如果是在 Linux 操作系统上,可以进入 Tomcat 安装目录下的 bin/ 目录,然后执行以下命令来启动 Tomcat:

    $ sh catalina.sh run
    
  4. 在浏览器中访问 Web 工程。

    在浏览器中输入 http://localhost:8080/工程名,其中 工程名 是 Web 工程的名称。例如,假设 Web 工程的名称是 mywebapp,那么可以通过访问 http://localhost:8080/mywebapp 来访问该 Web 工程。

注意事项:

  • 在部署 Web 工程之前,要确保 Tomcat 已经成功安装并启动。
  • 如果 Tomcat 中已经存在同名的 Web 工程,部署新的 Web 工程会覆盖原有的 Web 工程。
  • 在部署 Web 工程时,要确保 Web 工程的目录结构正确,包括 WEB-INF 目录、web.xml 文件等。

6.2 方式二

找到 Tomcat 下的 conf 目录\Catalina\localhost\ 下,创建如下的配置文件:
abc.xml 配置文件内容如下:

<!-- Context 表示一个工程上下文 path 表示工程的访问路径:/abc docBase 表示你的工程目录在哪里 --> 
<Context path="/abc" docBase="E:\book" />

访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 E:\book 目录

四、两种访问页面的方式

1、手托 html 页面到浏览器

手托 html 页面的原理:
在这里插入图片描述

2、在浏览器中输入访问路径进行访问

在浏览器中输入http://ip:端 口号/工程名/ 进行访问

输入访问地址访问的原因:
在这里插入图片描述
手动拖拽 HTML 页面到浏览器的方式是通过文件系统直接打开 HTML 文件,然后在浏览器中渲染显示该页面。这种方式不需要借助 Web 服务器和 Web 应用程序,适用于简单的静态网页或本地测试。

而在浏览器中输入 http://ip:端口号/工程名/ 的方式则是通过 Web 服务器和 Web 应用程序来访问 HTML 页面。通常情况下,HTML 页面是作为 Web 应用程序的一部分被部署在 Web 服务器上的,因此需要通过 Web 服务器和 Web 应用程序来进行访问。

具体来说,这种方式的访问流程如下:

  1. 用户在浏览器中输入 http://ip:端口号/工程名/

  2. 浏览器向 Web 服务器发送 HTTP 请求。

  3. Web 服务器接收到请求后,将请求转发给相应的 Web 应用程序。

  4. Web 应用程序根据请求的 URL,找到对应的 HTML 页面,并将该页面返回给浏览器。

  5. 浏览器接收到 HTML 页面后,解析显示该页面。

通过 Web 服务器和 Web 应用程序访问 HTML 页面的方式,可以实现更多的功能和交互,例如动态页面、表单提交、数据库访问等。同时,Web 服务器和 Web 应用程序也提供了更好的安全性和可扩展性,可以部署和管理复杂的 Web 应用程序。

五、ROOT工程和index页面的默认访问

1、ROOT 的工程的访问

在 Web 应用程序中,ROOT 是指 Web 应用程序的根目录,也就是 Web 应用程序的访问路径。如果某个 Web 应用程序被部署在 Web 服务器的 ROOT 目录下,那么该 Web 应用程序就可以通过访问 Web 服务器的 IP 地址或域名来访问,而无需指定 Web 应用程序的名称。

例如,如果将一个名为 myapp 的 Web 应用程序部署在 Tomcat 的 ROOT 目录下,那么该应用程序的访问路径将变成 http://ip:端口号/,而不是 http://ip:端口号/myapp/。这种方式可以简化 Web 应用程序的访问路径,提高用户体验。

2、默认 index.html 页面的访 问

默认的 index.html 页面是指 Web 应用程序中的默认首页文件,当用户访问 Web 应用程序的根目录时,Web 服务器会自动寻找默认的 index.html 文件并将其返回给用户。通常情况下,该文件包含了 Web 应用程序的简介、导航或者其他重要信息,是用户访问 Web 应用程序的入口。

例如,在一个名为 myapp 的 Web 应用程序中,如果存在一个名为 index.html 的文件,在用户访问 http://ip:端口号/myapp/ 时,Web 服务器会自动将该文件返回给用户。这样,用户就可以通过访问 Web 应用程序的根目录来访问默认的 index.html 页面,而无需指定具体的文件名。

六、IDEA 整合 Tomcat 服务器

操作的菜单如下:File | Settings | Build, Execution, Deployment | Application Servers
在这里插入图片描述
配置你的 Tomcat 安装目录:
在这里插入图片描述
就可以通过创建一个 Model 查看是不是配置成功!!!在这里插入图片描述

七、IDEA 中动态 web 工程的操作

1、IDEA 中如何创建动态 web 工程

  1. 创建一个新模块:

在这里插入图片描述

  1. 选择你要创建什么类型的模块:

在这里插入图片描述

  1. 输入你的模块名,点击【Finish】完成创建。

在这里插入图片描述

  1. 创建成功如下图:

在这里插入图片描述

2、Web 工程的目录介绍

在这里插入图片描述
Web 工程是指一个 Web 应用程序的开发和部署项目,包含了一系列的文件和目录。下面是 Web 工程中常见的目录介绍:

  1. WEB-INF 目录

    WEB-INF 目录是 Web 应用程序的安全目录,包含了不允许客户端直接访问的文件和目录。该目录下通常包含以下两个目录:

    • classes 目录:用于存放编译后的 Java 类文件和其他可执行文件。

    • lib 目录:用于存放 Web 应用程序所需的 jar 包和其他依赖库文件。

    WEB-INF 目录下还包含了一个 web.xml 文件,用于定义 Web 应用程序的部署描述符(Deployment Descriptor)。该文件包含了 Web 应用程序的配置信息,例如 Servlet、Filter、Listener、Error Page 等。

  2. META-INF 目录

    META-INF 目录是 Java 应用程序的元信息目录,用于存放应用程序的元信息文件。在 Web 应用程序中,META-INF 目录通常包含了 MANIFEST.MF 文件和 context.xml 文件。

    • MANIFEST.MF 文件:用于定义 Java 应用程序的元信息,例如应用程序的版本号、作者、依赖库等。

    • context.xml 文件:用于定义 Web 应用程序的上下文信息,例如数据库连接池配置、全局参数配置等。

  3. css、js 和 images 目录

    这些目录分别用于存放 Web 应用程序中的样式表、JavaScript 文件和图像文件。这些文件可以通过 HTML 页面引用,用于美化页面、实现交互和丰富内容。

  4. WEB-INF/views(或 templates)目录

    该目录用于存放 Web 应用程序的视图模板文件,例如 JSP、Thymeleaf 等。视图模板文件通常用于生成动态的 HTML 页面,实现 Web 页面的渲染和展示。

  5. WEB-INF/resources 目录

    该目录用于存放 Web 应用程序的资源文件,例如配置文件、数据库脚本、静态文件等。这些文件一般不需要直接访问,通常由 Web 应用程序的其他部分调用或读取。

以上是 Web 工程中常见的目录介绍,不同的 Web 应用程序可能会有不同的目录结构和文件组织方式。

3、如何给动态 web 工程添加额外 jar 包

  1. 可以打开项目结构菜单操作界面,添加一个自己的类库:

在这里插入图片描述

  1. 添加你你类库需要的 jar 包文件

在这里插入图片描述

  1. 选择你添加的类库,给哪个模块使用:

在这里插入图片描述

  1. 选择 Artifacts 选项,将类库,添加到打包部署中:

在这里插入图片描述

4、如何在 IDEA 中部署工程到 Tomcat 上运行

  1. 建议修改 web 工程对应的 Tomcat 运行实例名称:

在这里插入图片描述

  1. 确认你的 Tomcat 实例中有你要部署运行的 web 工程模块:

在这里插入图片描述

  1. 你还可以修改你的 Tomcat 实例启动后默认的访问地址:

在这里插入图片描述

5、在 IDEA 中如何运行,和停止 Tomcat 实例。

  1. 正常启动 Tomcat 实例:

在这里插入图片描述

  1. Debug 方式启动 Tomcat 运行实例:
    在这里插入图片描述
  2. 停止 Tomcat 运行实例:在这里插入图片描述
  3. 重启 Tomcat 运行实例:
    在这里插入图片描述

6、修改工程访问路径

在这里插入图片描述

7、修改运行的端口号

在这里插入图片描述

8、修改运行使用的浏览器

在这里插入图片描述
h)配置资源热部署

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

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

相关文章

红队打靶:Nullbyte打靶思路详解(vulnhub)

目录 写在开头 第一步&#xff1a;主机发现与端口扫描 第二步&#xff1a;Web渗透 第三步&#xff1a;hydra密码爆破 第四步&#xff1a;SQL注入大赏 方法一&#xff1a;手工SQL注入之联合查询 方法二&#xff1a;SQL注入写入一句话木马 方法三&#xff1a;SQL注入写入…

C语言学习笔记 VScode设置C环境-06

目录 一、下载vscode软件 二、安装minGW软件 三、VS Code安装C/C插件 3.1 搜索并安装C/C插件 3.2 配置C/C环境 总结 一、下载vscode软件 在官网上下载最新的版本 Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/download 二、安装minGW…

测试覆盖率 JVM 字节码测试运用 - 远程调试、测试覆盖、影子数据库

目录 前言&#xff1a; 简介 基础使用方式介绍 工具特性 前言&#xff1a; 在软件开发中&#xff0c;测试覆盖率是一个非常重要的指标&#xff0c;它表示代码中所有的测试用例是否都已经被覆盖到。JVM 字节码测试是一种比较新的测试方法&#xff0c;它可以对 JVM 字节码进…

nlp系列(6)文本实体识别(Bi-LSTM+CRF)pytorch

模型介绍 LSTM&#xff1a;长短期记忆网络&#xff08;Long-short-term-memory&#xff09;,能够记住长句子的前后信息&#xff0c;解决了RNN的问题&#xff08;时间间隔较大时&#xff0c;网络对前面的信息会遗忘&#xff0c;从而出现梯度消失问题&#xff0c;会形成长期依赖…

开源项目注意事项

fork项目后&#xff0c;记得另外开启一个分支然后在新分支上进行开发&#xff0c;push到仓库后从分支往原项目提交。 否则会出现Partially verified&#xff08;导致提交pr后auto-merge失败&#xff09; 注意git提交操作 https://blog.csdn.net/sonichenn/article/details/13…

flask中的werkzeug介绍

flask中的werkzeug Werkzeug是一个Python库&#xff0c;用于开发Web应用程序。它是一个WSGI&#xff08;Web Server Gateway Interface&#xff09;工具包&#xff0c;提供了一系列实用功能来帮助开发者处理HTTP请求、响应、URLs等等。Werkzeug的设计非常灵活&#xff0c;可以…

请问学JavaScript 前要学html 和css 吗?

前言 html和css可以理解为是一个网站的骨架和皮肤&#xff0c;这两部分做好后整个网站的外观展示的完成度基本就有了个90%左右&#xff0c;所以在学习js前是需要学习html和css 的&#xff0c;这两部分不用花特别多的时间&#xff08;虽然css如果想做一些非常炫酷的效果个人认为…

vue中重新获取数据导致页面加长,要求在页面更新之后浏览器滚动条滚动到之前浏览记录的位置。以及获取当前页面中是哪个元素产生滚动条的方法。

目前的页面样式为&#xff1a; 代码是&#xff1a; <section id"detailSection"><el-tableref"multipleTable":data"logDetailList"style"width: 650px;margin:20px auto;"id"dialogDetail":show-header"fals…

App测试流程及测试点

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间&#xff0c;一般测试时间为两三周&#xff08;即15个工作日&#xff09;&#xff0c;根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源…

启动es容器错误

说明&#xff1a;启动es容器&#xff0c;刚启动就停止&#xff0c;查看日志&#xff0c;出现以下错误信息&#xff08;java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 8.8.2 but version 7.12.1 is running&#xff09; 解决&…

【2023】HashMap详细源码分析解读

前言 在弄清楚HashMap之前先介绍一下使用到的数据结构&#xff0c;在jdk1.8之后HashMap中为了优化效率加入了红黑树这种数据结构。 树 在计算机科学中&#xff0c;树&#xff08;英语&#xff1a;tree&#xff09;是一种抽象数据类型&#xff08;ADT&#xff09;或是实作这种…

数据结构【栈和队列】

第三章 栈与队列 一、栈 1.定义&#xff1a;只允许一端进行插入和删除的线性表&#xff0c;结构与手枪的弹夹差不多&#xff0c;可以作为实现递归函数&#xff08;调用和返回都是后进先出&#xff09;调用的一种数据结构&#xff1b; 栈顶&#xff1a;允许插入删除的那端&…

网络知识点之-BGP协议

边界网关协议&#xff08;BGP&#xff09;是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议&#xff0c;也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系…

特征选择策略:为检测乳腺癌生物标志物寻找新出口

内容一览&#xff1a;microRNA&#xff08;小分子核糖核酸&#xff09;是一类短小的单链非编码 RNA 转录体。这些分子在多种恶性肿瘤中呈现失控性生长&#xff0c;因此近年来被诸多研究确定为确诊癌症的可靠的生物标志物 (biomarker)。在多种病理分析中&#xff0c;差异表达分析…

vue3下的uniapp跨域踩坑

uniapp vue3 H5跨域踩坑 开发移动端H5的时候由于后端接口没有做跨域处理&#xff0c;因此需要做下服务器代理&#xff0c;于是百度搜索了uniapp下h5的跨域配置 在manifest下的h5配置proxy&#xff0c;大概是这样: "h5": {"devServer": {"https"…

安全—01day

文章目录 1. 编码1.1 ASCLL编码1.2 URL编码1.3 Unicode编码1.4 HTML编码1.5 Base64编码 2. form表单2.1 php接收form表单2.2 python接收form表单 1. 编码 1.1 ASCLL编码 ASCII 是基于拉丁字母的一套电脑编码系统&#xff0c;主要用于显示现代英语和其他西欧语言。它是最通用的…

ajax/axios访问后端测试方法

文章目录 1、浏览器执行javascript方法GET请求POST请求 2、Postman测试工具GET请求POST请求 3、idea IDE提供的httpclient4、Apache JMeter 1、浏览器执行javascript方法 GET请求 http://localhost:6060/admin/get/123 POST请求 技巧&#xff1a;打开谷歌浏览器&#xff0c…

C数据结构与算法——队列 应用(C语言纯享版 迷宫)

实验任务 (1) 掌握顺序循环队列及其C语言的表示&#xff1b; (2) 掌握入队、出队等基本算法的实现&#xff1b; (3) 掌握顺序循环队列的基本应用&#xff08;求解迷宫通路&#xff09;。 实验内容 使用C语言实现顺序循环队列的类型定义与算法函数&#xff1b;编写main()函数…

算法与数据结构(三)--栈

一.栈的基本概念 栈是一种特殊的表&#xff0c;这种表只在表首进行插入和删除操作。 因此&#xff0c;表首对于栈来说具有特殊的意义&#xff0c;称为栈顶。相应的&#xff0c;表尾称为栈底。不含任何元素的栈称为空栈。 栈的修改遵循后进先出的原则&#xff0c;Last In First…

Zabbix邮件报警(163网易邮箱)

目录 一、电脑登录网易邮箱配置 二、Server端安装配置邮件服务器 邮箱查看 三、编辑zabbix_server.conf 引用邮件脚本 查看邮件 五、配置zabbix web监控项邮件报警 操作思路 Server.zabbix.com web操作 确认报警媒介信息 配置zabbix中的用户所使用的报警媒介类型以及接收邮…