java - 更改web app中的java类文件需要重新构建完整的项目并部署

标签 java jsp tomcat servlets

所以我正在开发一个网络应用程序。于是就有了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/

相关文章:

java - 私有(private)字段的序列化和反序列化

jsp - 基于 tomcat 领域表单的身份验证时的 session 超时问题

jakarta-ee - 部署 Java Web 应用程序时出现问题

在 Windows 7 64 位上使用 Java 32 位的 Eclipse 32 位

java - 注册 spring-boot-admin-client 错误

java - 如何从 Java 中的 SourceDataLine 获取字节数组的体积

java - 我如何使用不同版本的java

java - <jsp :useBean> tag creates a bean? 如何

javascript - 在 JSP 或 Javascript 中清除浏览器缓存中的图像

tomcat - Pivotal CloudFoundry 上的 Nginx/Apache2 httpd 和 Tomcat 7