idea的tomcat设置时的war 和war explore的区别

war 和war explore的区别

节省时间的话直接看最下面详细解释

我们发布项目时选择war还是war explore?

简单了解

  • war模式:将web工程以war包的形式上传到服务器
  • war exploed模式:将web工程以当前文件夹的位置关系上传到服务器

进一步解释:
**war模式:**先打成war包,然后再发布到Tomcat的ROOT下,所以选择这个后,你再看下你的tomcat的root文件夹下,是刚打成的项目

**war exploded模式:**只编译,生成target;然后把当前的target文件夹的位置关系上传到服务器;没有打包到tomcat的ROOT下,这时是访问target下;所以你直接改target下的index.jsp文件,对应http://localhost:8080/下的页面也会修改的;war exploed模式比war模式快
详细解释:

  • war exploed部署时,不会将war包部署到tomcat中,也就是说tomcat的webapps目录下不会出现当前项目的文件,
    如果将项目改为war部署的方式,application context设置为/,tomcat也不会将项目部署到webapps中,因为application context就是项目再webapps路径下项目的根目录名。
    好奇war exploded时是如何进行热部署,也没有将包存放到tomcat中,如何运行。
  • Tomcat 配置成War exploded,在运行时idea不会把项目放到tomcat webapps的路径下,而是复制一份足够的配置文件,到KaTeX parse error: Undefined control sequence: \project at position 255: …指要运行的项目的部署位置,F:\̲p̲r̲o̲j̲e̲c̲t̲\WiseEnergy\Wis…{user.home}/.IntelliIdea/system/tomcat中,之后启动tomcat安装目录下的catalina.bat文件,tomcat读取配置文件,找到项目位置,然后就运行起来。
  • war exploded支持热部署的原因:是由于该模式下是直接把文件夹、jsp页面、classes等等移到F:\project\WiseEnergy\WiseEM-D\target\webapps\下,只要修改其后台和前端代码或者配置文件,F:\project\WiseEnergy\WiseEM-D\target\webapps\对应的目录下的文件也会进行相应的改变,tomcat会运行此目录下的项目,为此可以读取到最新的源文件,因此这种方式支持热部署。
  • war 和war exploded的不同模式下获取的上下文路径不同
    String contextPath=request.getSession().getServletContext().getRealPth("/");
    不同可以看下面链接
    添加链接描述

猜你喜欢

转载自blog.csdn.net/code_mzh/article/details/106223652