Http Status 500 - java.lang.NoClassDefFoundError:org/apache/jsp/login_jsp(wrong name:org/apache/jsp/

当在项目中修改了jsp页面的名字,如将login.jsp改为Login.jsp,可能会导致HttpStatus500错误,因为Tomcat不会因大小写变更重新编译jsp。错误原因是Tomcat工作目录中仍保留旧的字节码文件。解决方案是删除catalina目录并重启Tomcat以获取新的编译文件。
摘要由CSDN通过智能技术生成

Http Status 500 - java.lang.NoClassDefFoundError:org/apache/jsp/login_jsp(wrong name:org/apache/jsp/Login_jsp)错误!

出现上述问题的原因是:在项目中修改了jsp页面的名字,比如登陆界面login.jsp 修改为Login.jsp 导致的错误.(小写l改为了大写L);

tomcat启动工作时,当浏览器第一次访问tomcat服务器的时候,tomcat安装目录work目录里把浏览器发送的这个jsp页面转化为.java文件.例如login.jsp会转化为login_jsp.java文件,在编译为login_jsp.class字节码文件.<可以说jsp页面本质是servlet,也就是被编译为java代码去执行>,编译后的login_jsp.class文件,通过classLoader类装进内存,为了响应客户端的请求工作.

产生的问题:如果我们在项目中单纯的将jsp页面的名字修改大小写的话,tomcat在work目录中是不会重新编译这个jsp文件的,所以work目录中还是原来小写/大写的同名jsp文件,导致tomcat给与客户端响应时在work目录中找不到对应相同的字节码文件.会报出上述错误(如果修改为不同的名称,tomcat会定时重新编译)仅仅限制与大小写的改变不同.

很多情况为了得到实时的jsp编译字节码文件,可以把catalina目录删除,重启tomcat,重新生成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值