错误信息:Class XXX is not a Servlet
Class XXX is not a Servlet
The server encountered an internal error that prevented it from fulfilling this request.
可能的原因与解决:
1、运行的servlet类未继承HttpServlet
2、在pom.xml中导入maven依赖时没有设置作用范围,导致打包运行时,web项目中javax.servlet包与web服务器自带jar包冲突,所以要加上maven的依赖范围。
provided:编译和测试时有效。compile(默认):编译和运行时有效。runtime:只在运行时有效。
<scope>provided</scope>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
3、若用的tomcat10,需要将javax.servlet依赖换成jakarta.servlet:
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
</dependency>
</dependencies>