war和war exploded

war和war exploded的区别

war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;
>> war包是自己打包生成的,如pom文件中<packaging>war</packaging>
    则在项目build的构建的时候将打包成一个war包,默认是一个已经完成准备部署发布的项目包;

>> war exploded包是IDEA在工程创建的时候就自动生成的,是给开发者放在服务器上或本机调试用的,并不是一个已完成的准备发布的项目包。

在idea Tomcat部署时选择不同包的区别

1. 当我们在tomca的Deployment里面部署的是war包的话,就没有“Update classes and resources”只有部署war exploded包的时候才会出现“Update classes and resources”。如下面图所示:

在这里插入图片描述

2. 两种情况下部署后项目的存放目录不同

war模式:将WEB工程以war包的形式上传到Tomcat服务器 ,存放于服务器的webapps目录下
war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

**war exploded模式:**将WEB工程以当前文件夹的位置关系上传到服务器;也就是说不会再Tomcat服务器的webapps目录下
war exploded模式这种可以称之为开发调试模式,默认是项目所在目录的target目录下

具体验证可通过获取上下文环境绝对路径来看:
String contextPath = request.getSession().getServletContext().getRealPath("/");
war包模式始终是获取到的路径为:C:\Program Files\apache-tomcat-7.0.82\webapps\assets
Tomcat所在位置

war exploded包模式获取到的路径为:C:\projects\sx_zc\asset_sx\target\assets
项目所在的target位置

On ‘Update’ action 和 On Frame deactivation

On Update action

“On Update Action”是指当代码改变的时候,需要IDEA为你做什么,比如更新了静态资源或者java代码后对应的行为;
一般选择“Update classes and resources”,里面有四个选项

-Update resources :更新的是资源文件(*.jsp,*.xml等,不包括java文件),点击‘update’就会立刻生效

-Update classes and resources : 同时包含java文件和资源文件的,点击‘update’就会立刻生效

     run运行模式下(jsp 立即生效,java 需要redeploy才可生效);debug调试模式下(java、jsp 都立即生效)
     两种运行模式下,修改resources资源文件都是可以立刻生效的。

-Redploy : 重新部署,只是把原来的war删掉,不重启服务器

-Restart : 重启服务器

On Frame deactivation

指失去焦点(比如你最小化了IDEA窗口),需要IDEA为你做什么一般选择“Do nothing”最好,官方也默认的是“Do nothing”
作用:失去焦点的情况下 自动触发,而开发过程中 可能需要查询资料 或 与人聊天 或干其它事,IDE需要不停的失去焦点。每次失去焦点就自动触发 update ,CPU一下子 费很多,电脑瞬间变慢,所以没有必要这样

监听整个页面的配置,一修改就立即更新(idea 官方的推荐是设置为Do nothing,原因是可以节省idea消耗的内存)

在这里插入图片描述

-Do nothing : 不做任何事
    
-Update resources : 一修改立刻更新,修改的resources文件都会立刻生效

-Update classes and resources : 一修改立刻更新,修改的java ,resources文件都会立刻生效(与On update action中的Update classes and resources一样,也是运行模式修改的java文件不会生效,debug模式修改的java文件会立刻生效)

总结

开发调试时建议选择war exploded包进行部署,正式上线时选择war包部署
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值