以下解决方式适用于跟我类似的配置环境,构建servlet程序后,启动Tomcat页面报“类com.tioxy.servlet.MyServlet不是Servlet,MyServlet cannot be cast to class jakarta.servlet.Servlet”或者“实例化Servlet类异常”的500错误的问题。
我的本机配置环境:
1.IDEA 2020.1,Tomcat 10.0.0M5,Maven 3.6.3,导入的javax.servlet-api 4.0.1
最近在学习Java Servlet,并用Maven构建的模板,导入servlet-api依赖包,写了一个简单的Servlet程序,就是很简单的重写doGet、doPost,向页面输出一段“hello,servlet”文本
网上都是在pom里面加入<scope>provide</scope>,但是我加了也没有用。最后是tomcat10把javax换成了jakarta。真是裂开。
下面就是老哥推荐的两种解决办法。
- 降Tomcat版本,降到9版本的。
- 不用降版本,不要使用maven导入的servlet-api包,在F4的项目模块中引入Tomcat依赖,操作步骤在上面有说明。