在学习Mybatis的时候,创建了一个Java Web程序来做试验。
出现了以下错误,在网上查了很多,最后在网上发现是Idea里面的Serlvet4.0与Tomcat10不匹配的问题。
jakarta.servlet.ServletException: Error instantiating servlet class [com.galaxy.bank.web.AccountServlet]
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
用IntelliJ Idea创建Java Web应用,默认是Servlet4.0,而Tomcat10需要Servlet5.0
查看project structure,可以发现里面是servlet4.0.1
查看maven 的pom文件和dependency发现里面也是servlet4.0.1
在maven pom文件里面改成Servlet5.0的依赖.
<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency>
再去Servlet相关的java类里面import 5.0版本,问题迎刃而解。
------------------------------------------------------------------------------------------------
2022年10月7日,农历九月十二,星期五,阴天有小雨,气温较冷,上海。
国庆节7天假期的最后一天。
-------------------------------------------------------------------------------------------------