今天写实验运行Servlet的时候,浏览器报了500错误java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet ,经查阅资料后得知是Tomcat10版本与servlet-api不兼容,解决方法如下:1.将pom.xml中的这个依赖删除或注释
<!-- <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>-->
然后加入新的依赖
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>4.0.4</version>
<scope>provided</scope>
</dependency>
然后刷新maven
刷新运行后发现还是浏览器依然报500错误,IDEA依然导的是javax
原来IDEA并没有导入servlet-api.jar这个jar包,这需要手动导入:
1.右键项目名,点击Open Module Settings
2.选择libraries模块,点击加号(这里我已经添加了) 3.找到Tomcat所在目录,在lib目录下找到servlet-api.jar,选择应用确定就行了
至此,错误解决。