关于java.servlet.*缺失问题

发布于:2022-10-18 ⋅ 阅读:(940) ⋅ 点赞:(0)

 【上图使用的tomcat版本为10.0.23】

此问题目前出现在Tomcat10系列 ,而 Javax.servlet.*标红(不存在)的原因是因为包名改了。

// Tomcat 10 用以下的 import
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
//----------------------------------------
// Tomcat 9 用以下的 import
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//----------------------------------------

所以由此可知Tomacat 10 之后servlet依赖包名不是 javax.servlet,而是jakarta.servlet。 

如果你用eclipse的话还可能会出现运行出500的错误。

出现这个问题的原因是tomcat的版本太新了,tomcat10的不支持老版的jar包

解决方案一
降级tomcat,用回老版(jdk,maven,tomcat不用新版能减少90%的错误
解决方法二
换一下jar包【jar包的替换如果可以请大佬在评论区发一个教程链接】

所以如果想使用tomcat10开发,必须更新jar和jsp包等。。

会很麻烦,建议装上一个半年版本,版本不是越新越好。

Eclipse IDE for Eclipse Committers ,目前最高适配支持tomcat8

Eclipse IDE for Java EE Developers,可以适配运行tomcat9

目前不要装tomcat 10.1.1,eclipse并不支持高版本的运行。会爆出如下错误。

 The Apache Tomcat installation at this directory is version 10.1.1.  A Tomcat 10.0 installation is expected.


网站公告

今日签到

点亮在社区的每一天
去签到