文章目录

  • 前言
  • 一、将 Tomcat 集成到 IDEA 中
    • 1.1、进入 IDEA Tomcat 配置页面
    • 1.2、配置并集成 Tomcat
    • 1.3、配置完成说明
    • 1.4、集成检查
      • 1.4.1、检查主页面信息及服务器配置信息
  • 二、创建并部署 Java EE 项目
    • 2.1、创建新项目或者模块(自行选择)
    • 2.2、进行 Java EE 项目配置
    • 2.3、“Next”对项目起名,“Finish”完成 Java EE 项目部署
    • 2.4、查看 Java EE 项目
      • 2.4.1、对应版本约束信息
      • 2.4.2、设置虚拟目录
      • 2.4.3、Java EE 项目目录说明
    • 2.5、运行 Java EE 项目
    • 2.6、对 Java EE 项目进行部署
    • 2.7、对 Java EE 项目进行热部署
  • 总结

前言

通过对 IDEA/Tomcat 原理的讲解,对比其不同之处,讲解如何将 Tomcat 集成到 IDEA 中,创建并部署 Java EE 项目。由传统的部署方式延伸到热部署 Java EE 项目,可以极大地提高项目开发的效率,方便新手入门。


一、将 Tomcat 集成到 IDEA 中

1.1、进入 IDEA Tomcat 配置页面

上方导航栏点击“Run→Edit Configurations…”进入配置页面,如下图所示:


说明:

  • Application 指的是对于本地当前应用的配置信息
  • Templates 指的是对于整个模板信息的全局配置


打开 Run/Debug Configuration 窗口,下滑找到 Tomcat Server 配置,Local 是本地配置,Remote 是远程配置,如下图所示:

1.2、配置并集成 Tomcat

“Server”界面点击“Configure…”,如下图所示:


点击“+”选择 Tomcat 在本地的安装路径进行匹配,如下图所示:


配置完成,点击“OK”,如下图所示:

1.3、配置完成说明

在“Sever”页面可以看到我们集成后的信息,下面的端口默认 8080,我们无须再对其进行修改。点击“OK”完成设置,如下图所示:

1.4、集成检查

在 Tomcat 配置完成后,我们需要对配置进行进一步的检查以确保配置成功。

1.4.1、检查主页面信息及服务器配置信息

点击“Application server”我们可以看到服务器信息已经加载,如下图所示:


再次点击“Configure…”进入服务器配置页面,左侧的加减可以增删当前服务器,在下面的“Classes”面板中我们可以看到 IDEA 已经加载到了 Tomcat 的两个 JAR 包:一个 jsp 的 JAR 包、一个 servlet 的 JAR 包。至此,Tomcat 集成完毕。


二、创建并部署 Java EE 项目

2.1、创建新项目或者模块(自行选择)

依次点击“File→New→Project/Module”,如下图所示:


创建 Java 企业级项目,根据自身安装情况选择 SDK 以及 Server 版本,如下图所示:

2.2、进行 Java EE 项目配置

在下方导航栏“Additional Libraries and Frameworks”中下滑找到“Web Application”并勾选,同时勾选下面“Create web.xml”,创建 Web 项目的核心配置文件。

说明:JDK 的版本与下面“Web Application” Servlet 的版本是对应的,如 JDK8 对应的是 Servlet 的 4.0,JDK7 对应的是 Servlet 的 3.1 版本。

2.3、“Next”对项目起名,“Finish”完成 Java EE 项目部署


2.4、查看 Java EE 项目

2.4.1、对应版本约束信息

我们可以看到该目录结构是完全正确的,同时,web.xml 我们可以看到使用的是 Schema 的约束,而且对应的版本为 4.0,如下图所示:


这时如果我们再次点击 Tomcat 配置页面会发现,左侧已经部署了一个 Tomcat Server,同时在部署的项目中也已经进行了加载,web 项目被打包成 war 包的形式,如下图所示:

2.4.2、设置虚拟目录

如果你在“Application context”处填写的虚拟目录为/,项目在将来访问的时候就不需要虚拟目录了,而是相当于一个根路径,如下图所示:

2.4.3、Java EE 项目目录说明


Java 动态项目目录说明:

--项目名称--WEB-INF--web.xml:该项目的核心配置文件--classes 目录:放置中间字节码文件--lib 目录:放置项目依赖的 jar 包

2.5、运行 Java EE 项目

下图的两个地方都可以运行,或者 Ctrl+Shift+F10,如下图所示:


2.6、对 Java EE 项目进行部署

这时,如果你足够细心,你可以发现地址栏中的地址信息为:http://localhost:8080/而不是http://localhost:8080/index.jsp,如下图所示:


对地址栏信息进行修改,修改为http://localhost:8080/index.jsp,可以看到仍然是刚才页面。这是为什么呢?我们将在下面的第 7 点为大家进行详细讲解。


我们再次在 web 目录下创建一个 hellohtml.html 的文件,直接在地址栏修改地址运行,会发现浏览器无法加载到该文件,而在我们的 IDEA 中是确实存在该文件的。



这时我们就需要重启服务器,刷新页面信息,就可以成功进行加载了。


2.7、对 Java EE 项目进行热部署

我们对于上面的现象进行解释:index.jsp 比较特殊,是一个默认的首页,是已经在配置里进行了声明。所以http://localhost:8080/打开是项目首页,http://localhost:8080/index.jsp打开也是首页。

同时我们发现,如果每一次更改信息都需要重启服务器,会极大地降低开发的效率,这就需要我们配置热部署,以求在更改资源后无需多次重启服务器。

“Run→Edti configurations…→Run/Debug configurations”,对以下两则内容进行修改。


不选择 Update classes and resources 是因为 Java 代码会多次修改,如果多次部署会影响我们的性能。

促使 IDEA 能在我们更新资源后重新部署我们的项目,这样我们就无需重启服务器了。


新创建一个文件试验一下,成功!


总结

本文我们分别从 IDEA 和 Tomcat 这两个 IDE 的原理方面进行了分析,并进行了将 Tomcat 集成到 IDEA 中的完整步骤,而对于Java EE 项目的部署我们分别从实战的角度对比了传统项目的部署方式和在 IDEA 里面实现热部署,我们可以明显发现热部署的优势:降低了服务器每次启动的次数,效率大大提升,多次修改代码无需多次重启服务器。


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

IDEA/Tomcat 原理:如何将 Tomcat 集成到 IDEA?实现由传统部署延伸到热部署 Java EE 项目?相关推荐

  1. java 热部署实现_Java热部署的实现原理

    Java热部署的实现原理 Contributor:properties Type:简体中文 Date time:2017-01-22 00:10:19 Favorite:1 Score:0 返回上页 ...

  2. SpringBoot启动Tomcat原理与嵌入式Tomcat实践

    导读 作为一个开发,使用Spring Boot 时,和传统的Tomcat 部署相比,我们只需要关注业务的开发,项目的启动和部署变的十分简单, 那么它背后是怎么实现的, 隐藏着什么? 本文先从一个嵌入式 ...

  3. 【Tomcat】Tomcat原理 第一部分 Tomcat基础

    网络通信的三要素: ①IP:电子设备(计算机)在网络中的唯一标识 ②端口:应用程序在计算机中的唯一标识 ③传输协议:规定了数据传输的规则,基础协议有:TCP(安全协议,"3次握手" ...

  4. idea tomcat热部署_IDEA设置热部署

    之前用Eclipse的时候,可以下载插件jrebel进行热部署,但是换成idea后,怎么部署都不行,只能用idea自带的热部署了. idea自带的热部署,只能对方法内进行的更改进行重新加载,如果是新增 ...

  5. SpringBoot嵌入Tomcat原理分析

    SpringBoot嵌入Tomcat原理 内嵌Tomcat启动原理 首先,来到启动SpringBoot项目的地方,也就是朱配置类. @SpringBootApplication public clas ...

  6. eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules...

    当部署项目Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, 1.5 and Java EE 5 Web modules错;解决方案,如下面: 空 ...

  7. idea iu 2021 Mac版本的使用,如何创建java web项目,包括tomcat和web包

    Java web系列文章目录 第一章 前端学习入门之idea iu 2021版本的使用 目录 Java web系列文章目录 前言 一.Java web是什么? 二.配置步骤 1.下载Tomcat服务器 ...

  8. tomcat热加载、热部署-源码解析

    上文:tomcat线程模型-源码解析 热加载和热部署是什么? 请查看原来的写过的文章:热部署和热加载有什么区别? tomcat热加载和执热部署都是通过后台进程检测项目中的.class和目录是否发生变化 ...

  9. Java服务器热部署的实现原理

    [本文转载于Java服务器热部署的实现原理] 今天发现早年在大象笔记中写的一篇笔记,之前放在ijavaboy上的,现在它已经访问不了了.前几天又有同事在讨论这个问题.这里拿来分享一下. 在web应用开 ...

最新文章

  1. 2020 年,让 OKR 助力你稳住 flag 清单!
  2. DotNet并行计算的使用误区(二)
  3. Spark 1.6.2 + Beam 2.0.0读取Mongodb数据进行相应逻辑处理
  4. php和python哪个工资高-前端,java,php,python工程师哪个最缺 知乎
  5. parse_str与http_build_query的使用
  6. 使用scipy实现简单神经网络
  7. STM32F10x_StdPeriph_Lib_V3.5.0库与系统滴答定时器(Systick)
  8. RabbitMQ和Kafka的区别
  9. vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法
  10. C++工作笔记-对const_cast的理解
  11. c语言不定参数个数,C语言中不定参数的实现
  12. android与ios图片类型转换,ios11图片转换工具
  13. python 如何封装dll_python怎么封装dll
  14. 【C#】打印机ZPL指令打印图片,将图片转成十六进制指令
  15. DistilBert解读
  16. mysql字符串数值按数值排序问题
  17. 测试小故事48:想当然
  18. 服务器主板显示ba,为什么我的设计器不能显示,但是可以调通,主板信息读出发生错误...
  19. mysql门店分析_餐饮数据分析(MySQL+Pivot)
  20. 农业物联网智能灌溉的功能特点

热门文章

  1. Redis 分布式集群搭建2022版本+密码(linux环境)
  2. win10系统VMware Workstation与Device/Credential Guard不兼容怎么办
  3. Spring Boot2 整合 Shiro ,两种方式全总结!
  4. idea gblfy常用快捷键
  5. ajax结合java,ajax技术应用详细分析(后端java与客户端请求的结合)
  6. android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...
  7. java中的switch的规则_细细讲述Java技术开发的那些不为人知的规则
  8. 搜索引擎排序DEMO
  9. datagridview取消默认选中_C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝
  10. 二级考试c语言中 星号与字母 题型总结,2017年计算机二级考试C语言知识点归纳...