如何将Tomcat集成到IDEA中并启动项目?

news2025/3/11 0:25:26

编译软件:IntelliJ IDEA 2019.2.4 x64
操作系统:win10 x64 位 家庭版
服务器软件:apache-tomcat-8.5.27


目录

  • 一、为什么要将Tomcat集成到IDEA里?
  • 二、集成步骤
    • 2.1 在IDEA中创建Tomcat
    • 2.2 创建java的企业级模块(动态的web工程)
  • 三、本地创建的动态Web项目目录结构说明
  • 四、如何启动刚创建的动态web项目?
  • 五、IDEA启动的是本地服务器吗?
  • 六、部署在服务器上的项目是什么结构的?
  • 七、IDEA里Tomcat的基础设置
  • 八、导入模块(简单版)
  • 九、可能出现的问题
  • 十、删除模块


一、为什么要将Tomcat集成到IDEA里?

目的:

让idea帮我们部署项目,并且启动、关闭、重新部署服务器,而不用再去操作startup.bat和shutdown.bat,以提高web项目的部署效率。


二、集成步骤

2.1 在IDEA中创建Tomcat

① 点击File–>Settings

在这里插入图片描述

②点击 application Servers --> + --> Tomcat server

在这里插入图片描述

③为刚才创建的Tomcat server 指定家目录

在这里插入图片描述

2.2 创建java的企业级模块(动态的web工程)

① 点击File–>New–>Module

在这里插入图片描述

②创建Java Enterprise,然后进行相应的设置

在这里插入图片描述

③设置模块名称和该模块的文件存储路径,然后Finish

在这里插入图片描述


三、本地创建的动态Web项目目录结构说明

构成:

  • src:存放Java源代码的目录。

  • web:存放的是需要部署到服务器的文件

    • WEB-INF:这个目录下的文件,是不能被客户端直接访问的。
      • lib:用于存放该工程用到的库。粘贴过来以后
      • web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射。

    凡是客户端能访问的资源(*.html或 *.jpg)必须跟WEB-INF在同一目录,即放在Web根目录下的资源,从客户端是可以通过URL地址直接访问的。

具体如下图所示:

在这里插入图片描述


四、如何启动刚创建的动态web项目?

项目的启动与停止,debug和我们平日编译,调试Java代码都是相似的

在这里插入图片描述

在这里插入图片描述
备注:当启动服务器时,idea存在一个自动的机制(会自动弹出浏览器打开页面)

当我们启动服务器时,它会自动在浏览器里打开我们在项目中手动创建的index.html,,若没有创建index.html,它会默认打开index.jsp。

在这里插入图片描述


五、IDEA启动的是本地服务器吗?

答案:

不是

why?

IDEA启动的并不是本地服务器,它对于服务器的机制是为每一个web模块,创建一个服务器镜像(副本),该服务器镜像依托于本地安装的Tomcat服务器。在
C:\Users\用户\.Inte1 liJIdea2019.2\system\tomcat\各种服务器目录 里可查看该服务器镜像文件,如下图所示。

在这里插入图片描述

该服务器镜像的目录结构中只有config,logs和work文件夹,相比于完整的本地服务器目录,残缺了不少的重要文件夹。该镜像服务器与本地服务器共享如下所示的文件夹。
在这里插入图片描述


六、部署在服务器上的项目是什么结构的?

当我们启动服务器时,在本地创建的动态web项目经过编译后,并不会把所有的内容都部署到服务器上,而是把war包【web项目经过编译后的压缩包】放到服务器上,这个war包就是部署在服务器上的项目,该war包可以在 项目的目录\out\artifacts\war包内容 被找到,如下所示。

在这里插入图片描述

它的目录结构如下所示:

在这里插入图片描述

在这里插入图片描述


七、IDEA里Tomcat的基础设置

由于每次创建项目随之创建的tomcat实例名字都类似,所以建议修改一下Tomcat实例的名称(这里的实例名称我之前改过)

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

在这里插入图片描述


八、导入模块(简单版)

如果你想把别人的动态web模块导入到自己的动态web模块中,切不可直接导入

步骤:

①自己new一个动态web模块

②将模块的src和web复制粘贴进来即可


九、可能出现的问题

问题场景:

对项目进行修改操作(改源文件的内容、新建文件)时【偶发事件】,重新部署或者重启服务器之后,客户端还是访问不到。

原因:

有可能是本地项目和wr包的内容未同步

解决方案:

将war包删除,重新启动服务器即可


十、删除模块

要删4个位置的文件:

模块、war包、服务器、本地都需要删除干净,若不删干净,后面如果重建一个重名的模块,会发生问题

①删除模块

在这里插入图片描述

②删除war包

在这里插入图片描述

③删除war包对应的服务器实例

在这里插入图片描述

④删除本地对应的模块目录

在这里插入图片描述


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

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

相关文章

同为科技(TOWE)8路RS485通讯智能机柜PDU时序电源管理器

智能PDU电源时序管理器的出现是为了更好地管理数据中心和服务器机房的电源,以提高其可靠性和效率。在传统的机房电力管理中,运维人员需要手动控制每个设备的电源开关和电力分配,这种方式不仅效率低下,而且容易出现操作失误和电源供…

记一次mysql cpu 异常升高100%问题排查

此服务器为一个从库,用于数据的导出业务,服务器配置较低,日常的慢sql也比较多。 上午11点左右cpu异常告警,如下图所示, cpu使用率突增到50%,下午2点左右突增到100% ,登录服务器top命令查看cpu升…

基于脚手架@vue/cli 5.0.8搭建vue3项目教程

基于脚手架vue/cli 5.0.8搭建vue3项目教程 前言 前言 脚手架可以快速的帮我们搭建一个项目,而不需要我们从头开始去配置和引入插件,使用脚手架5.0.8版本创建的项目,局部webpack是5.x版本的,因此所有的配置均需要使用支持5.x版本的…

Shader Graph11-Detail Normal Map(法线贴图叠加)

本次我们希望通过叠加两个法线贴图来增加细节。 一、准备资源 我们需要一个模型,1张纹理贴图,2张法线贴图 我们可以在商店下载,这个mesh资源来做这个例子 打开OldWest->VOL3->Meshes,找到SM_Blankets_01c这个布的模型&am…

QoS技术原理

QoS技术的产生 随着网络的不断发展,网络规模及流量类型的不断增加,使得互联网流量激增,产生网络拥塞,增加转发时延,严重时还会产生丢包,导致业务质量下降甚至不可用。所以,要在IP网络上开展这些…

Abaqus 2022最新版下载软件安装包 永久安装包详细安装流程

Abaqus 2022是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题。Abaqus包括一个丰富的、可模拟任意几何形状的单元库。并拥有各种类型的材料模型库,可以模拟典型工程材料的性能,其中包括金属…

浏览器网络之TCP与UDP

文章目录 网络模型TCP协议建立连接——三次握手断开连接——四次挥手为什么要三次握手与四次挥手 不常使用的协议——UDPTCP与UDP的区别UDP的使用场景 总结 网络模型 在理解TCP与UDP 之前,首先需要对网络结构有一些基本的认识,在互联网发展的初期&#…

【golang学习笔记】——(二)配置golang vscode开发环境

本次学习采用vscode进行开发,vscode有比较成熟的插件,使用起来比较方便。 一、插件下载 搜索“Go”,第一个插件即为go的开发插件,进行安装即可。 二、go辅助插件下载 使用快捷键:CtrlShiftP 输入Go:Install/Update T…

SpringCloud之组件Hystrix简介

服务雪崩介绍 服务提供者不可用导致服务调用者也跟着不可用,以此类推引起整个链路中的所有微服务都不可用, 服务提供者A因为某种原因出现故障,那么服务调用者服务B依赖于服务A的请求便无法成功调用其提供的接口,假以时日依赖于服务…

电子表格软件能解决什么问题?

在当下的时代,全球经济非常活跃,对于企业来说,经营的成果需要“用数字说话”——以数字来反映经营管理的的状况,这些都离不开报表,可以说报表的需求是无处不在的。 在企业所有的科技类项目中报表是最基本的功能。作为…

第二章:uniapp整合axios之真机测试两问题

第二章:uniapp整合axios之真机测试两问题 上一章节,笔者编写了uniapp整合axios并实现前后端跨域请求的方案,完成了这些基本配置后,在浏览器端的测试基本是可以完成了,但是当笔者将程序运行到手机时,却出现…

4个 Python 库来美化你的 Matplotlib 图表

Matplotlib是一个被广泛使用的Python数据可视化库,相信很多人都使用过。 但是有时候总会觉得,Matplotlib做出来的图表不是很好看、不美观。 今天我就给大家分享四个美化Matplotlib图表的Python库,它们可以轻松让你的Matplotlib图表变得好看…

fastjson 反序列化之mysql JDBC 利用

前言: 在打春秋云境Exchange 靶场时,入口点是华夏ERP 2.3版本系统,存在fastjson 反序列化漏洞,在尝试常见的fastjson利用链反弹shell都没有反应,最终使用mysql JDBC利用链反弹shell成功。在此记录一下。 复现本地靶场…

QT安装mysql驱动和使用ODBC连接mysql

文章目录 QT安装mysql驱动和使用ODBC连接mysql使用驱动连接mysql编译mysql驱动连接mysql 使用ODBC连接mysql QT安装mysql驱动和使用ODBC连接mysql 上一篇博文中提到了mysql的使用,但是很多人在使用新版Qt连接mysql的时候出现连接不上或者是没有mysql驱动的问题&…

不懂就问,Milvus 新上线的资源组功能到底怎么样?

在近期更新的 Milvus 2.x 版本中,我们上线了在社区中呼声一直很高的【资源组功能】。有了这个功能,用户再也不需要“为每个 collection 部署一套 Milvus 服务”的方案,轻松实现对 Query Node 资源进行分组管理,达到物理资源隔离的…

【C++】STL中的容器适配器 stack queue 和 priority_queue 的模拟实现

STL中的容器适配器 一、容器适配器1、什么是容器适配器2、STL标准库中的容器适配器 二、stack的模拟实现1、stack的简单介绍2、栈的模拟实现 三、queue的模拟实现1、queue的简单介绍2、queue的模拟实现 四、priority_queue的模拟实现1、priority_queue的简单介绍2、priority_qu…

家用洗地机哪款好用?好用的洗地机分享

要说现在家居清洁用什么单品更省心,洗地机必须要算一项。虽然这在国际上也不是什么新鲜的概念了,但是在国内兴起也只是这几年的事,关于家用洗地机什么牌子最好之类的问题也是很多人都比较关心的问题。我个人也是不喜欢做家务的,家…

Anaconda及其他说明及安装

来自神秘人的投稿! 以下内容来源于官方视频说明:Anaconda Distribution versus Miniconda和其他整理与添加。 一、基础信息了解 1. 什么是Anaconda Anaconda Distribution:形象的比喻——一台笔记本电脑,一切都组装好了&#x…

利用用户生成内容来促进您的 WooCommerce 商店的销售

用户生成内容 (UGC) 是由对品牌或其产品和服务进行评论或评论的消费者创建的内容。它可以包括评论、照片、博客文章、推文或任何类型的社交媒体内容。 UGC 可以应品牌要求制作,也可以由产品用户独立制作。当用户生成的内容是独立制作的时候——比如一个新布加迪手…

UG NX二次开发(C#)-建模-移除特征参数

文章目录 1、前言2、在UG NX中的操作3、 利用UFun函数实现1、前言 UG NX建模方式是采用特征建模的,创建一个对象都是一个特征,这在历史记录中可以查看特征的建模历史、特征的参数已经特征之间的关联关系。有时为了设计的需要,需要去除特征之间的关联关系,那么就要移除特征…