欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat版本与spring中servlet,jsp依赖不一致造成的问题

程序员文章站 2024-01-30 15:22:16
...

文章目录


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

#1、spring项目部署到外置tomcat,报错

30-Apr-2021 20:16:14.178 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
30-Apr-2021 20:16:14.179 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/ch10_spring_web_war_exploded]启动失败
使用的tomcat版本是10.0,在pom.iml文件中需引入依赖为```

<dependency>
      <groupId>jakarta.servlet.jsp</groupId>
      <artifactId>jakarta.servlet.jsp-api</artifactId>
      <version>3.0.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>5.0.0</version>
      <scope>provided</scope>
</dependency>

不使用监听器不报错,使用监听器之后报错30-Apr-2021 20:16:14.178 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件,无法运行,检查代码,发现没问题,查看日志,在IDEA的help中点击show log in explorer中可以查看日志,找到tomcat,进入查看日志,查看以local host开头那个,找到相应日志,发现错误是

0-Apr-2021 13:19:24.733 信息 [http-nio-8080-exec-6] org.apache.catalina.core.ApplicationContext.log 将servlet[RegisterServlet]标记为不可用
30-Apr-2021 13:19:24.733 严重 [http-nio-8080-exec-6] org.apache.catalina.core.StandardWrapperValve.invoke 分配异常的servlet [RegisterServlet]
	java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1401)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
		at java.lang.ClassLoader.defineClass1(Native Method)
		at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
		at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

后来百度到是tomcat版本太高,要使用jakarta.servlet.jsp,但是spring不行,没找到办法解决,虽然导入依赖了,但是监听器还是会使用javax.servlet,只能下载tomcat9,可以下载两个tomcat,解决问题。

相关标签: tomcat