Tomcat 的使用(图文教学)

news2024/9/24 15:21:24

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.coloradmin.cn/o/810536.html

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

相关文章

建设银行秋招指南,备考技巧和考试内容详解

建设银行秋招简介 银行作为非常吃香的岗位&#xff0c;每年都有不少同学通过投递简历&#xff0c;进入笔试&#xff0c;再到面试成功&#xff0c;成功到银行就职&#xff0c;也有相当一部分同学因为信息差&#xff0c;符合条件却没有报名。无法进入银行工作。 建设银行的秋招…

从保存受限的手机APP中提取文件(读取Android系统中的新增缓存文件)

这个手机APP的权限可能设置了无法在应用内保存文件&#xff0c;但是这个文件实际上一定存在于本地的某个地方&#xff0c;本文的方法通过遍历最后修改日期在今天的文件&#xff0c;很容易就可以找到它。 首先安装一个QPython&#xff0c;这个软件可以允许你在安卓手机上运行Py…

Linux常用命令——dpkg-reconfigure命令

在线Linux命令查询工具 dpkg-reconfigure Debian Linux中重新配制一个已经安装的软件包 补充说明 dpkg-reconfigure命令是Debian Linux中重新配置已经安装过的软件包&#xff0c;可以将一个或者多个已安装的软件包传递给此指令&#xff0c;它将询问软件初次安装后的配置问题…

平板光波导中导模的(注意不是泄露模)传播常数β的matlab计算(验证了是对的)

参照的是导波光学_王建(清华大学)的公式(3-1-2、3-1-3)&#xff0c;算的参数是这本书的图3-3的。 function []PropagationConstantsMain() clear;clc;close all lambda01.55;%真空或空气中的入射波长&#xff0c;单位um k02*pi/lambda0; m3;%导模阶数(需要人为指定) n11.62;%芯…

Godot 4 源码分析 - 动态导入图片文件

用Godot 4尝试编一个电子书软件&#xff0c;初步效果已经出来&#xff0c;并且通过管道通信接口可以获取、设置属性、调用函数&#xff0c;貌似能处理各种事宜了。 其实不然&#xff0c;外因通过内因起作用&#xff0c;如果没把里面搞明白&#xff0c;功能没有开放出来&#x…

Android 13(T) - Media框架(1)- 总览

从事Android Media开发工作三年有余&#xff0c;刚从萌新变成菜鸟&#xff0c;一路上跌跌撞撞学习&#xff0c;看了很多零零碎碎的知识&#xff0c;为了加深对Android Media框架的理解&#xff0c;决定在这里记录下学习过程中想到的一些问题以及一些思考&#xff0c;也希望对初…

国产颗粒更快更稳,价格厚道的光威天策弈系列DDR4内存条值得安排

想要用最少的费用打造出一台性能强悍的电脑&#xff0c;自己动手DIY组装电脑是个更好的选择&#xff0c;特别是今年硬盘和内存方面降价潮此起彼伏&#xff0c;出现了很多神价&#xff0c;高性能内存和硬盘对平台性能提升的效果也是非常显著的。 相比于传统大厂的内存&#xff0…

心法利器[92] | 谈校招:刷题和笔试准备

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2022年新一版的文章合集已经发布&#xff0c;累计已经60w字了&#xff0c;获取方式看这里&…

Linux NUMA架构(非统一内存访问)

NUMA架构 NUMA Architecture| Non Uniform Memory Access Policy/Model | Numa Node Configuration (CPU Affinity) NUMA架构产生的原因 cpu的高速处理功能和内存存储直接的速度会严重影响cpu的性能。传统的计算机单核架构,cpu通过内存总线(内存访问控制器)直接连接到一…

【Linux基础】WSL安装Ubuntu

说明 本文使用的Windows环境是Windows 11 专业版。 WSL现在有二代WSL2&#xff0c;后续都通过WSL2来安装Linux&#xff0c;使用的是Ubuntu发行版&#xff0c;版本是20.04。 安装过程使用了PowerShell&#xff0c;且是管理员权限打开的。 参考适用于 Linux 的 Windows 子系统…

【 Spring AOP学习二】统一功能处理:拦截器异常返回数据格式

目录 一、用户登录权限效验 &#x1f351;1、Spring拦截器实现用户统一登录验证&#xff08;重要&#xff09; &#xff08;1&#xff09;定义一个拦截器 &#xff08;2&#xff09;将自定义拦截器加入到系统配置中 &#x1f351;2、拦截器实现原理 &#x1f351;3、统一…

car tire

汽车轮胎规则参数 小车、轿车轮胎规格参数图解-有驾 半挂车轮胎尺寸多少 货车轮胎尺寸对照表【汽车时代网】

二叉树的最大深度和最小深度(两种方法:递归+迭代)

二叉树的最大深度&#xff1a; class Solution { public:int maxDepth(TreeNode* root) {//DFS 深度优先搜索if(rootNULL) return 0;//深度等于max&#xff08;左子树的深度&#xff0c;右子树的深度&#xff09;1&#xff1b;return max(maxDepth(root->left),maxDepth(roo…

QT自定义控件实现并导入

QT自定义控件 介绍 QT Creator自定义控件和designer控件导入 1.安装QT5.7.1 2.将QT编译器目录、lib目录、include目录导入path 使用说明 使用说明按照 1.创建QtDesigner自定义控件工程&#xff0c;打开Qt Creator,创建一个Qt 设计师自定义控件&#xff0c;如下图所示&#xf…

靠着AI自动生成视频撸自媒体收益,赚了包辣条~

友友们&#xff0c;小卷今天给大家分享下如何通过AI自动生成视频&#xff0c;只需要3分钟就能做出一个视频&#xff0c;把视频发到B站、抖音、西瓜上&#xff0c;还能赚包辣条哦~ 文末给大家准备了AI变现的案例及AIGC知识库&#xff0c;记得领取哦&#xff01; 1.收益 先看看收…

手写SpringBoot模拟核心流程

首先&#xff0c;SpringBoot是基于的Spring&#xff0c;所以我们要依赖Spring&#xff0c;然后我希望我们模拟出来的SpringBoot也支持Spring MVC的那一套功能&#xff0c;所以也要依赖Spring MVC&#xff0c;包括Tomcat等&#xff0c;所以在SpringBoot模块中要添加以下依赖&…

13. Mybatis-Plus

目录 1. MyBatis-Plus 简介 2. 新建项目 3. 添加依赖 4. 配置数据库 5. 编码 1. MyBatis-Plus 简介 通过官网&#xff1a;MyBatis-Plus MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyB…

浅谈 AI 大模型的崛起与未来展望:马斯克的 xAI 与中国产业发展

文章目录 &#x1f4ac;话题&#x1f4cb;前言&#x1f3af;AI 大模型的崛起&#x1f3af;中国 AI 产业的进展与挑战&#x1f3af;AI 大模型的未来展望&#x1f9e9;补充 &#x1f4dd;最后 &#x1f4ac;话题 北京时间 7 月 13 日凌晨&#xff0c;马斯克在 Twiiter 上宣布&am…

【MTI 6.S081 Lab】networking

【MTI 6.S081 Lab】networking BackgroudYour Job (hard)实验任务 解决方案 这个实验中&#xff0c;在dns解析时&#xff0c;去请求其dns服务器失败&#xff0c;所以将nettest中的dns服务器改为我自己的。修改的位置大概在nettest.c的235行。 这个实验的设备的具体使用就没去看…

行为型:迭代器模式

定义 迭代器模式提供一种方法按顺序访问一个聚合对象中的各个元素&#xff0c;而又不暴露该对象的内部表示。迭代器模式是目的性极强的模式&#xff0c;它主要是用来解决遍历问题。 es6 中的迭代器 JS原生的集合类型数据结构&#xff0c;有Array&#xff08;数组&#xff09;和…