当前位置: > Linux服务器 > Tomcat >

Tomcat服务器restart和redeploy的区别

时间:2019-05-10 16:22来源:linux.it.net.cn 作者:IT
redeploy是把当前的一个项目重新部署到Tomcat服务器上(一个Web项目)

restart是Tomcat服务器的重启,服务器上可以部署很多的项目;restart的一部分效果是:把服务器上部署的所有项目重新部署一次,所以这部分效果的本质就是重新部署所有的Web项目;还有一部分效果是对Tomcat的相关配置文件进行刷新。

所以一般选择重启服务器。

用MyEclipse进行web开发,因为机器配置不高,项目也不小,一直被一个问题所困扰:什么时候应该redeploy,什么时候应该重启tomcat。如果项目大,redeploy和重启tomcat的系统开销是很大的,经常要等很长时间。
当然,你可以选择把其他不相关的项目先从webapps移出,这样tomcat加载的项目就少了,相应也就快了。

为了不把时间浪费在等待服务器启动,特地想了想需要重启tomcat和redeploy的情况:

重启tomcat

1)在tomcat为debug 模式下,修改当前正在用的类的定义(包括:类名,方法,方法名称,参数等等……),需要重启tomcat。


2)修改web元素,比如如果用struts的话,修改jsp页面,是不需要重启tomcat(这是因为Tomcat对JSP进行了侦听,如果有修改,就会重新翻译成Servlet并最终编译成Class文件,替换掉原JSP页面对应的Class文件。Tomcat的内部机制是可以让这种Class文件立即生效的。而普通的Class文件修改后,不能立即生效。);

修改action,不需要重启;

修改form文件,有时要有时不要。


3)修改配置文件,需要重启tomcat。


4)myeclipse有自动提示,当你修改需要重启的话它会弹出窗体提示,但是配置文件改动不提示。所以改动配置文件,一定要重启tomcat。 


Redeploy 
myeclipse会自动发布,也就是说,用redeploy的情况几乎没有。但是myeclipse不太稳定,有的时候,不能自动发布,必须要redeploy。所以当你重启tomcat后还是得不到你的预期结果时候,考虑下redeploy。

另外:浏览器是有缓存的,有些情况没有变化是因为缓存没有更新,测试的时候可以用jsp语句关闭缓存,也可以采用访问另一个页再点回来,其余更新和数据库连接的页面有时候有提示说更新失败,这种情况有时可以不理会(其实已经更新了)。



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容