(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布。
(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
经过百度查资料才知道,在idea中配置的tomcat,在运行时idea不会把项目放到自己的webapps路径下,而是在${user.home}/.IntelliJIdea/system/tomcat 目录下。
<Context path="/tcc" docBase="C:UsersSWEETGUOIdeaProjectsworkspaceoutartifactsproject2_war_exploded2" />
docBase是指要运行的项目的部署位置,D:javaIDEAWorkSpace项目 就是项目源代码的位置,target是由maven构建后生成的.
运行过程:
首先Intellij会为每个web项目建立一个单独的文件夹,以“Unnamed_项目名”命名(可在.idea/workspace.xml中修改)。
在每次启动项目时,它先将tomcat目录下原始的CATALINA_BASE目录拷贝一份到该目录下,也就是将当前tomcat的配置文件拷贝到“Unnamed_项目名”文件夹下。
然后将CATALINA_BASE的路径修改为该目录的路径,再在 Unnamed_项目名/conf/Catalina/localhost下添加项目的配置文件ROOT.xml。
最后启动tomcat,tomcat除了会启动webapps下应用外还会加载/conf/Catalina/localhost下配置的应用,而Intellij就是通过这种方式“隐蔽”地加载web项目。