为什么改java代码 需要重启tomcat生效

以前好好的,怎么回事
就是,以前好好的,我同事他说以前也这样,后来不知道怎么好了

因为servlet代码是要通过编译转换成html代码的....
在服务器 启动的时候进行编译的.....
所以改变了以后需要重新启动服务器叫代码重新编译成html代码给浏览器识别...
因为JAVA代码是要通过编译转换成HTML代码的....是在服务器启动的时候进行编译的....所以 改了JAVA代码需要重启....而jsp文件中的代码是不需要编译的....因为网页能识别标记语言....JAVA文件里面的语言识别不了...所以要重新编译...
具体的你可以看你的项目...放在TOMCAT下没有运行的时候
\WebRoot\WEB-INF\classes\里面有什么...启动你的项目以后
你再看看 \WebRoot\WEB-INF\classes\里面有什么.....
里面的 .class文件应该是在编译的时候产生的....所有 .java文件改变了
都要重启服务器然后才能生成新的 .class文件...

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-11
需要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)

Eclipse EE 设置方式,文件设置:server.xml > reloadable="false" 界面设置:Server > Modules > Edit > webapp > Auto reloading enabled > false
第2个回答  推荐于2016-11-24
要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)

但这个方法也有时行不通,我就碰到过,不管怎么设都没有用本回答被提问者采纳
第3个回答  2010-10-11
因为修改java代码,编译器需要重新编译。
第4个回答  2010-10-11
试试debug模式启动
相似回答