Java ApacheTomcat中的奇怪输出?

Java ApacheTomcat中的奇怪输出?,java,jsp,tomcat,Java,Jsp,Tomcat,我在apache tomcat中面临一个奇怪的问题。假设当我在jsp文件中加载一个类时,它会给我输出,但当我更改java文件重新编译更改类文件时,apache tomcat不会显示更改,它会显示上一个类的结果…例如: <html> <head><title>Hello World</title></head> <body> Hello World!<br/> <%@ page import="neww

我在apache tomcat中面临一个奇怪的问题。假设当我在jsp文件中加载一个类时,它会给我输出,但当我更改java文件重新编译更改类文件时,apache tomcat不会显示更改,它会显示上一个类的结果…例如:

<html>
<head><title>Hello World</title></head>
<body>
Hello World!<br/>   
<%@ page import="neww.Simpl" %>
<% Simpl demo = new Simpl();
    out.println("Current date : " + demo.retur());%>
<%
out.println("Your IP addresssavxcd is " + request.getRemoteAddr());
%>
</body>
</html>

你好,世界
你好,世界
如果我更改siml.java并重新编译它并再次运行此jsp文件,tomcat将给出以前的结果,这将是第一次显示正确的结果。

另外,我确信该类文件已被修改。

我认为您所做的有问题。特别是:


停止tomcat,删除/temp和/work子目录的内容,然后重新启动它

我已经试过了,但是没有帮助!!我甚至试着删除类文件,但它给出了相同的输出

如果删除了旧的已编译JSP类文件,则会删除work和temp目录并重新启动服务器。。。。并且仍然看到了旧的行为,那么一定有什么东西在用旧版本替换JSP源代码的新版本。唯一合理的解释是,您正在修改JSP,而重新部署(来自战争?)正在破坏您的调整。但重新部署不应该是自发的。你一定是做了什么导致了它


我能想到的另一种解释是,您删除了错误的JSP类文件,很难想象会发生什么情况。

重新启动服务器,然后重试。您是否正在使用某种IDE?(eclipse、idea、netbeans…)您如何将代码部署到tomcat?我没有使用任何IDE…我的类文件位于WEB-INF/classes/neww/重新启动也没有帮助..停止tomcat,删除/temp和/work子目录的内容,然后重新启动它。查看帮助jsp代码是否实际没有问题…如果我修改jsp代码,输出将相应更改..但问题是当我更改类文件时,输出保持不变..在这种情况下,您可能没有将新版本的类部署到服务器。。。。以正确的方式。我在文件夹中只有一个类的副本,并且我重新编译了修改该类的java代码。我不明白服务器如何仍然可以获得以前的类?除非被告知重新部署webapp,否则服务器将看不到新的类。JVM通常只加载一次类。如果在类加载后更改它,JVM将不会注意到新版本。@user3654540所描述的行为是不可能的。要么您没有正确地重新启动Tomcat,替换类文件,要么您篡改了类加载,替换了不正确的类文件。