所以我正在开发一个网络应用程序。于是就有了java脚本文件和java Servlet类文件。我在 tomcat 服务器上运行我的应用程序。因此,当我在 JSP 文件中进行任何更改时,如果我重新加载浏览器,则更改会立即得到反射(reflect)。但是,如果我对 servlet 代码进行了任何更改,为什么我需要再次启动服务器才能看到我的更改得到反射(reflect)?有人可以清楚地说明为什么在第二种情况下需要重新启动服务器吗? 重新编译的java类文件是否需要重启服务器?
最佳答案
由于 J2EE 容器实现,在 tomcat 中,
JSP——使用独立的类加载器;
普通Servelet和其他类——AppClassloader
当一个jsp改变时,新编译的Servlet(不同于用户定义的Servlet)类将被一个新的独立的ClassLoader加载。
关于java - 更改web app中的java类文件需要重新构建完整的项目并部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026201/