当前位置:   article > 正文

jakarta.servlet.ServletException: 类com.hubei.bank.mvc.AccountServlet不是Servlet

jakarta.servlet

今天使用tomcat10的时候,出现了以上错误,花费了很多时间百度,发现是tomcat10之后“javax.servlet”变成了“jakarta.servlet”,由于我使用的是吗maven来管理项目依赖,就只需要将

  1. <dependency>
  2. <groupId>javax.servlet</groupId>
  3. <artifactId>javax.servlet-api</artifactId>
  4. <version>4.0.1</version>
  5. </dependency>

换成:

  1. <dependency>
  2. <groupId>jakarta.servlet</groupId>
  3. <artifactId>jakarta.servlet-api</artifactId>
  4. <version>5.0.0</version>
  5. <scope>provided</scope>
  6. </dependency>
  7. <dependency>
  8. <groupId>jakarta.servlet.jsp</groupId>
  9. <artifactId>jakarta.servlet.jsp-api</artifactId>
  10. <version>3.0.0</version>
  11. <scope>provided</scope>
  12. </dependency>

但是我替换之后,发现启动服务器的时候出现:严重 [RMI TCP Connection(2)-127.0.0.1]
org.apache.tomcat.util.modeler.BaseModelMBean.invoke  调用方法[manageApp]时发生异常

后经过百度,发现是我的web.xml文件有点小问题

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

 在这里version="4.0"对应的是tomcat9.0的版本,而我用的是tomcat10的版本,就需要将上面换成

<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
                      https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0"
         metadata-complete="false">

 其中metadata-complete="false"是指支持@WebServle("")注解方式开发,如果为true则表示不支持注解

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/977512
推荐阅读
相关标签
  

闽ICP备14008679号