关于Tomcat的热部署和热加载,关于面试的小知识

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

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

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

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

?
1
"xxx" path= "/xxx" reloadable= "true" />

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

?
1
"xxx" path= "/xxx" autoDeploy= "true" />

path:指定访问该Web应用的URL入口。 

docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。 

      reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

rautoDeploy:如果这个属性设置为true,整个项目将重新部署



你可能感兴趣的:(关于Tomcat的热部署和热加载,关于面试的小知识)