前言
在开发过程中,如果我们是使用的IDEA,就会知道IDEA有一个热更新的功能,何为热更新?就是在不重启Tomcat的情况下让服务器中的代码变更为最新的。这样既能快速的更新代码,又不用担心Tomcat重启session过期的问题,如同更新jsp一般的方便,当然IDEA里面的热更新还是没有更新jsp那么方便,具体限制本文后面有提(只是我目前了解到的限制)。如果说本地更新还算快捷,那么服务器更新就更加麻烦了,一般我们更新服务器上面的程序有2种情况,一是全量更新,就是打包war包去更新,二是部分更新,就是修改了那个class,就去服务器替换某个class文件,然后重启服务器(jsp文件不算,因为更新jsp是不需要重启Tomcat的,具体原因自己行百度)。这样常规的更新有2个弊端,第一:耗费时间长,不管是文件上传的时间,还是重启服务的时间,尤其是在项目很大启动很慢的时候,有时候只是更新一个简单的东西,却要等待数分钟,而且这数分钟还不是一个人的时间,是所有当时在用这台服务器的人的时间,第二:session失效的问题,服务器一旦重启,所有登录的用户就需要重新登录(当然如果session不是保存在Tomcat中的就另当别论了)。
基于以上种种,如果更新服务器能像我们本地IDEA一样方便,那么会节省我们很多的时间,加快各方人马的开发进度。幸好这种方式是有的,可以实现在IDEA中直接更新服务器代码,此方式是基于Tomcat远程调试的(不清楚远程调试的同学建议百度,也是一个挺好用的功能)