idea tomcat 启动 web 项目的流程
1.项目的一些设置
如果 上图列表没有发现你想要部署的项目。
那就需要到project Stucture里配置 Artifacts添加
这里在添加的时候
分为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项目,对应的目录。
编译的目录
下面开始讲解启动tomcat时候的流程:
- 编译,IDEA在保存/自动保存后不会做编译,不像Eclipse的保存即编译,因此在运行server前会做一次编译。编译后class文件存放在指定的项目编译输出目录下,modules里设置如上图;
- 根据artifact中的设定对目录结构进行创建(在上面图output directory);
- 拷贝web资源的根目录下的所有文件到artifact的目录下 ;
- 拷贝编译输出目录下的classes目录到artifact下的WEB-INF下;
- 拷贝lib目录下所需的jar包到artifact下的WEB_INF下;
- 运行server,运行成功后,如有需要,会自动打开浏览器访问指定url。
还有要注意的时,每次启动相当于单独的tomcat目录
目录名称,在启动时的日志里
目录里有 3 个配置文件夹
conf/Catalina/localhost/ROOT.xml
这里面显示的项目目录 ,刚好就是 上面 artifacts图里的路径。
参考了如下文章:
https://www.cnblogs.com/deng-cc/p/6416332.html
https://blog.****.net/Victor_Cindy1/article/details/72680553
=======分割线==========
还有一个很疑问的地方 update action ,他这个东西总是造成我更改java文件不生效,弄懂这个我问题就解决了。
其实就是手动点这里的按钮
具体详情参考如下链接