详解tomcat热部署和热加载的方法
我在项目开发过程中,经常要改动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热部署和热加载的两种方法及区别,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!