可以修改类不用重启Tomcat加载整个项目(手工启动)
配置reloadable=true(自动重载)
使用Debug模式,前提是仅限于局部修改。(修改类不用重启--热加载)

Tomcat轻小,而WebLogic、WebSphere对硬件要求比较高,吃内存、耗CUP。JBoss类更改不会重启(传说,我没用过,不知道!)。

在使用Eclipse+Tomcat开发Java项目的时候常常会碰到这样的情况,已修改Java文件Tomcat就会自动重启,接下来就是漫长的等待服务重启完毕。那其实大多数的Java文件修改是没有必要重启服务的,只有一些特定的Java文件,比如说只有重启服务的时候才会调用的Java代码才需要重启服务。

一修改java代码就重新部署(console有明显提示),且会话失效,设置服务器为debug模式(debug on server),否则修改不起作用.

什么时候应该redeploy,什么时候应该重启tomcat。如果项目大,redeploy和重启tomcat的系统开销是很大的,经常要等很长时间。

Tomcat运行时动态重载类, 实现重载功能的测试jsp
当系统中有很多类时,如果开启了Tomcat的reloadable=true,那么每当相关文件改变时,Tomcat会停止web
app并释放内存,然后重新加载web app.这实在是个耗时的工程. 如果能有只重载某几个类的功能,将极大的满足我这个即时调试狂。

1.修改类不重启Tomcat(不用手动重启)
首先需要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)
Eclipse EE 设置方式,文件设置:server.xml > reloadable="false" 界面设置:Server > Modules > Edit > webapp > Auto reloading enabled > false
开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。可以选择把其他不相关的项目先从webapps移出,这样tomcat加载的项目就少了,相应也就快了。

2.修改类不重启Tomcat有两种方式:热部署、热加载
热部署:容器状态在运行时重新部署整个项目。这种情况下一般整个内存会清空,重新加载,这种方式可能会造成sessin丢失等情况。tomcat 6确实可以热部署了,而且会话也没丢.
热加载:最好是在调试过程中使用,免得整个项目加载,Debug模式支持热加载。容器状态在运行时重新加载改变编译后的类。在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。

一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的(Eclipse、MyEclipse8、JBuilder、IntelliJ IDEA…)。

3.自动编译JSP
build Automatically

修改Tomcat源代码实现realoadable!不推荐~

最新文章

  1. LK产品如何提高通信速率
  2. 策划编写一个新的Helper类
  3. Redis教程(四):Hashes数据类型
  4. 测试markdown
  5. Java入门记(四):容器关系的梳理(上)——Collection
  6. GitLab 的 Developer 角色没有权限提交问题
  7. tomcat启动是报Multiple Contexts have a path of "/XXX"
  8. 高级iOS开发工程师的面试题
  9. lucene、lucene.NET详细使用与优化详解
  10. 算术编码Arithmetic Coding-高质量代码实现详解
  11. iepngfix.htc让PNG-24在IE6中透明的方法(转)
  12. 转:浅谈命令查询职责分离(CQRS)模式
  13. Docker私有仓库2
  14. MySQL Innodb 并发涉及参数
  15. YYHS-NOIP2017Training0921-逆光
  16. 提纲挈领webrtc之NS(noise suppression)模块
  17. android selector shape 使用
  18. TP5.1 钩子与行为应用
  19. C语言程序设计II—第二周教学
  20. 【Beta版本发布】爬虫队长装备全面更新!

热门文章

  1. 【刷题】BZOJ 1969 [Ahoi2005]LANE 航线规划
  2. bzoj1683[Usaco2005 Nov]City skyline 城市地平线
  3. 【bzoj4542】 Hnoi2016—大数
  4. LINUX内核分析第七周——可执行程序的装载
  5. HDU.5692 Snacks ( DFS序 线段树维护最大值 )
  6. Python OS模块操作文件和目录
  7. 解题:POI 2008 Subdivision of Kingdom
  8. Webpack 学习笔记总结
  9. R安装时出现辑程包不存在,解决方法
  10. Docker应用三:Dockerfile使用介绍(以安装redis为例)