原因:Tomacat 10 之后servlet依赖包名不是 javax.servlet,而是jakarta.servlet
解决办法:
1 . 重新安装Tomcat 9 (建议初学者,记住。。。最新的不一定是最好的)
2. tomcat10把 javax.servlet 都改为了jakarta.servle(这个方法我用了,只会报错,可能是只是改 了包名,但其实仓库里没有这个包)*不可行*
3.最后想到的是改为最新的dependency,这样javax就会自己变为jakarta。所以还是去maven Repository中搜我们需要的最新的dependency,先是servlet-api:
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>10.0.4</version>
</dependency>
然后是jsp-api:
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jsp-api --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jsp-api</artifactId> <version>10.0.4</version> </dependency>
把这两个代码放到项目的pom中,覆盖掉原来的那两个dependency,等待maven更新就好。
然后最会还有一步就是你写的那个Java类中导入到javax包要手动改为jakarta