在Linux系统的云服务器上部署JavaWeb项目时遇500报错 解决记录

2023.02.07:

 背景

昨天在实施如题操作时,按照我在网上找到的博文指导(链接:https://blog.csdn.net/RongLin02/article/details/117562075),成功操作了之前的几个步骤:

 

安装Java及配置其环境变量(环境变量这篇博客里没有写要自己去搜一下);

安装及配置MySQL8.0;

建库与建表;

安装Tomcat();

打包war包并部署在服务器上(上文博主用的是eclipse,我用的是idea,实施了这篇博文的操作:https://blog.csdn.net/qq_34872748/article/details/100390922)。

 

在完成了以上步骤后,理论上在本地的浏览器中输入http://公网ip:8080加上war包名称(例如我这个项目就是:http://XXX.XXX.XXX.XX:8080/contract_management_war/(后面跟不跟index.jsp都行))就可以浏览这个web项目的index页面了

而我也确实可以访问:

 

报错

 但是从这开始就有问题了。点击上面的“查询所有合同信息”之后,项目会去执行一个我写的servlet程序叫做recordListServlet,这个时候便开始报错

 

 

 报错信息大概就是说没有找到javax下的servlet等等这些类。

 

这时在这个报错页面刷新几次可能会刷出来另一个报错:

 

这个大概是讲没有找到list.jsp文件(RecoreListServlet执行后跳转到的jsp页面),

 

这就很奇怪,因为我把这个项目部署在我PC上的tomcat上的时候,访问这些网页,运行servlet是完全没问题的。

代码执行到我勾出来的这里出问题,返回idea看代码,19行其实是doGet调用了doPost。

因为这两个方法作用大致相同,很难记住HTML里哪个组件具体调用哪个方法,我跟的一个老师就直接在一个函数里调用另一个,这样代码就只用写一遍。

所以问题就在42行,这里是使用了getRequestDispatcher()重定向到list.jsp页面,但在这之前也有request里方法的调用,所以应该不是HttpServlet接口

其实见过

事实上关于这个报错,其实在PC机上调试的时候也遇到过,当时查到是因为tomcat10.0及以后不再使用javax.*包了,改为使用jakarta.*。所以当时就在项目的lib文件夹里引入了jakarta.servlet.jsp.jstl-api-2.0.0.jar和

 jakarta.servlet.jsp.jstl-2.0.0.jar这两个包,当时问题就解决了。

 

(下面这个的javax.servlet.jsp.jstl.jar其实不是必要的,去掉或者留着报错都是那两行代码)

jsp-api.jar和servlet-api.jar

我搜索找不到list.sjp的那个报错信息,在网上看到一篇和我报错差不多的帖子(https://blog.csdn.net/s_monster_/article/details/100152769),这个作者也是在本地部署没有问题,放到Linux上就会报错。上面讲是这两个包的问题,说缺少就引入进来,多了就删除。

 

今天发现的思路:

iml文件、xml文件

jsp-api.jar和servlet-api.jar

library

Linux卸载openjdk安装jdk和JAVA_HOME

配CATALINA_HOME没有成功

前面两个牵扯到Linux启动和关闭tomcat出问题

CLASSPATH

tomcat的jar包加载机制

war-tracker可能会有问题

idea项目中的web文件夹没有小蓝点会导致404

 war文件解压后的文件结构与war:exploded不一样

standard.jar

其他的.jsp文件都能打开,只有list.jsp不行,所以问题应该出在jsp

jakarta.servlet.jsp.jstl-2.0.0.jar和jakarta.servlet.jsp.jstl-api-2.0.0.jar

甚至为它俩加了classpath

换成tomcat9解决了

posted @   ban_boi  阅读(244)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示