idea tomcat 启动 web 项目的流程

1.项目的一些设置

idea tomcat 启动 web 项目的流程

idea tomcat 启动 web 项目的流程

 idea tomcat 启动 web 项目的流程

idea tomcat 启动 web 项目的流程

如果 上图列表没有发现你想要部署的项目。

那就需要到project Stucture里配置 Artifacts添加

idea tomcat 启动 web 项目的流程

idea tomcat 启动 web 项目的流程

这里在添加的时候

分为exploded 和 archive分别对应 war exploded  和 war

war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

tomcat部署war和war exploded区别和intellij idea部署项目的位置区别见下面链接:

https://blog.****.net/u013041642/article/details/79475095

这里先提前留意一下这个目录,这个就是tomcat 运行 web项目,对应的目录。

idea tomcat 启动 web 项目的流程

编译的目录

idea tomcat 启动 web 项目的流程

下面开始讲解启动tomcat时候的流程:

  • 编译,IDEA在保存/自动保存后不会做编译,不像Eclipse的保存即编译,因此在运行server前会做一次编译。编译后class文件存放在指定的项目编译输出目录下,modules里设置如上图;
  • 根据artifact中的设定对目录结构进行创建(在上面图output directory);
  • 拷贝web资源的根目录下的所有文件到artifact的目录下 ;
  • 拷贝编译输出目录下的classes目录到artifact下的WEB-INF下;
  • 拷贝lib目录下所需的jar包到artifact下的WEB_INF下;
  • 运行server,运行成功后,如有需要,会自动打开浏览器访问指定url。

还有要注意的时,每次启动相当于单独的tomcat目录

目录名称,在启动时的日志里

idea tomcat 启动 web 项目的流程

目录里有 3 个配置文件夹

idea tomcat 启动 web 项目的流程

conf/Catalina/localhost/ROOT.xml

idea tomcat 启动 web 项目的流程

这里面显示的项目目录 ,刚好就是 上面 artifacts图里的路径。

参考了如下文章:

https://www.cnblogs.com/deng-cc/p/6416332.html

https://blog.****.net/Victor_Cindy1/article/details/72680553

 

=======分割线==========

还有一个很疑问的地方 update action ,他这个东西总是造成我更改java文件不生效,弄懂这个我问题就解决了。

idea tomcat 启动 web 项目的流程

其实就是手动点这里的按钮

idea tomcat 启动 web 项目的流程

具体详情参考如下链接

update resources,update classes and resources ,redeploy理解

https://blog.****.net/RingoPaul/article/details/81504894