改变jsp名称报错,HTTP状态 500 - 内部服务器错误java.lang.NoClassDefFoundError

改变jsp名称报错,HTTP状态 500 - 内部服务器错误java.lang.NoClassDefFoundError_第1张图片

之前是小写helloworld,没出问题,然后我故意改成helloWorld,jsp名字也改了,在tomcat不clean得情况下,报404错误

消息 文.件[/WEB-INF/jsp/helloWorld.jsp] 未找到

Tomcat服务器清理缓存

于是根据上次类似得问题,clean一下tomcat,重启服务器,还是报错

改变jsp名称报错,HTTP状态 500 - 内部服务器错误java.lang.NoClassDefFoundError_第2张图片

java.lang.NoClassDefFoundError

注意:两个错误不同

ClassNotFoundException和NoClassDefFoundError的区别:
(1)一个是Exception,受检的异常;而一个是Error。
(2)ClassNotFoundException是在动态加载Class的时候调用Class.forName等方法抛出的异常;而NoClassDefFoundError是在编译通过后执行过程中Class找不到导出的错误。
(3)ClassNotFoundException是发生在加载内存阶段,加载时从classpath中找不到需要的class就会出现ClassNotFoundException,出现这种错误可能是调用上述的三个方法加载类,也有可能是已经被一个类加载器加载过的类又被另一个类加载器加载;而NoClassDefFoundError是链接阶段从内存找不到需要的class才会出现,比如maven项目有的时候打包问题会引起这个error报错,这个时候要把仓库中的包删掉重新去拉一下包。

最后tomcat 下clean tomcat work directory,问题解决


Clean:是指原先编译到tomcat服务器上的程序,先清除掉,然后再重新编译。
Clean Tomcat Work Directory:tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录。

Clean: Purges all webapps and redeploys them (don't do this while the Tomcat instance is running)

Clean working dir: Cleans out Tomcat's work dir, e.g., where compiled JSPs go.

 

 

 

 

你可能感兴趣的:(Common,Pesticide)