热部署和热加载的配置

在项目开发过程中,经常要改动Java/JSP 文件,但是又不想从新启动服务器(服务器从新启动花时间),想直接获得(debug)结果.有两种方式热部署 和热加载:

 1.热加载:在server.xml -> context 属性中 设置 reloadable="true"

?

1

<Context docBase="xxx" path="/xxx" reloadable="true"/>

2. 热部署:在server.xml -> context 属性中 设置  autoDeploy="true"

?

1

<Context docBase="xxx" path="/xxx" autoDeploy="true"/>

 同样可以:

1代码 复制代码 收藏代码

?

1

2

3

4

5

6

<Host name="localhost" appBase="webapps"

      unpackWARs="true" autoDeploy="true"

      xmlValidation="false" xmlNamespaceAware="false">

<Context docBase="xxx" path="/xxx"/> 

</Host>

3.区别:

      热加载:服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。

      热部署: 整个项目从新部署,包括你从新打上.war 文件。 会清空session ,释放内存。项目打包的时候用的多。

 也可以通过Eclipse上设置实现上述配置文件的修改

Eclipse的工程名右键: properties->Tomcat->General->Make this context as reloadable(reloadable="true")不要选中 Eclipse的工程名右键:Tomcat project->Update Context Definition

 

 

***、Tomcat热加载配置

Eclipse Package Explorer中找到Servers,点击你所需要运行的tomcat的config配置文件,例如 demo-config,双击该文件夹下的server.xml,可以看到如下内容:

<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">

<Context docBase="demo" path="/demo"reloadable="false" crossContext="true" source="org.eclipse.jst.jee.server:tnt_front"/></Host>

 

确保Host标签中的autoDeploy设置为false,Context标签中的reloadable设置为false

 

热加载的方式必须保证eclipse以debug模式启动项目才可以,切记!

 

二、修改文件即时发布到tomcat中

如下图所示,Publishing中选择第二项,保证Eclipse中修改java类和jsp等文件会立即同步到Tomcat的webapps中对应项目中,使得jsp的修改可以立即呈现。

 

 

1.说一下自己的理解:

运行tomcat项目需要3步

1.打包并指定给tomcat

2.启动tomcat

3.解压war包并运行(第三步和第二步一起的)

2.热部署

就是已经运行了项目,更改之后,不需要重新tomcat,但是会清空内存,重新打包,重新解压war包运行

可能好处是一个tomcat多个项目,不必因为tomcat停止而停止其他的项目

 3.热加载

是基于字节码进行更改的,不释放内存,开发可用,上线不可用,比如修改类了,原先的类内存不会释放,新的类还会增加内存.

更改字节码的意思是应该更改exploded war包中的.class文件.

热加载不重启tomcat,不重新打包

4.更新静态资源

更新静态资源是更改exploded war的静态资源,和热加载归到一起.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值