Tomcat10部署Servlet加载错误问题解决
Servlet加载错误:HelloServlet不是Servlet
环境信息:IDEA中的maven项目,tomcat10.1.33
问题信息:XXX.Servlet不是Servlet
问题原因:tomcat10将JavaEE也换成了Jakarta® EE; Jakarta® EE较以前的JavaEE有一个重要的更新:
包名由"javax.servlet.“ 改为 "jakarta.servlet.”
解决办法:
1.替换Servlet最新依赖
2.修改Servlet类中的引用,将javax.servlet.XXX
改为jakarta.servlet.XXX.
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>javax.servlet-api</artifactId>-->
<!-- <version>3.1.0</version>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
Tomcat 8 开始支持 JavaEE8 javax 项目由 sun公司 (sun.com) 转给 glassfish组织 (glassfish.org) 维护运营, 被拆分为 jakarta 多个项目。所以从Tomcat 9 开始,Servlet的依赖需要引入glassfish的包,也就是jakarta.servlet.XXX
原文地址:https://blog.csdn.net/f135917h/article/details/144023404
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!