最近在构建maven-web项目过程中发现一点问题:
调用servlet出现HTTP Status 500 错误
错误原因:
tomcat10之后,javax.servlet更名为jakarta.servlet,所以写成javax.servlet,tomcat就无法找到servlet依赖的类。
解决方法:
这里提供两种解决方法
方法1 更改maven配置pom.xml
将pom.xml
中servlet的dependency
改为
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
方法2 更换tomcat
可以将部署服务器由tomcat10
改为tomcat9
参考链接
- https://blog.csdn.net/weixin_43866043/article/details/108627505
- https://blog.csdn.net/wflsyf/article/details/112800735?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
- https://blog.csdn.net/weixin_44322375/article/details/114560916?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242