我们在配置tomcat部署项目的时候可以选择:war 和 :war exploded 两种模式,如下图:
:war 会找web项目中target文件夹下的xxx.war文件,解压放到tomcat的webapps文件夹下,如下面两图
如果你选择:war部署到idea中的tomcat,然后点击运行后,浏览器却没有弹出页面,那大概是启动失败了,仔细看idea启动tomcat时所加载的日志信息,大概有一个提示说找不到某某某.war包。那么你使用maven去clean后再重新package下,就可以看到项目的target文件下出现了.war包了,此时再运行就可以了。
这模式是不会发布到tomcat的webapps文件夹下的,而是告诉tomcat,这个要发布的文件夹在哪里,让tomcat去运行它,如下图
上面的红框文件夹,你打开后看到的就是你web项目webapp文件夹下的内容,随便修改下某个页面在谷歌浏览器按ctrl+f5刷新就能看到所改的内容了。
比如manager-web-1.0-SNAPSHOT下有个login.html页面,项目webapp下也有个login.html页面,这两个页面都是同一个页面。在exploded模式下,你修改manager-web-1.0-SNAPSHOT下login.html页面,刷新浏览器就可以看到修改后的(要强制刷新,否则浏览器看到的是缓存不是实时的)。但是,此时再去看webapp下的页面,还是修改之前的,并没有随之改变。
不管是(ctrl+f10)
还是构建项目都没用(ctrl+f9)
只有当你真正修改了webapp下的login.html,然后再去
就会发现两个login.html的内容就相同了(正常开发来说,也是修改webapp下的文件然后再去ctrl+f10)。也正因如此,exploded模式也就是热部署模式