建立spring项目时用到一些奇怪的报错信息,并且很久没有解决。

项目场景:

无论是从网上还是自己新建一个WEB项目时,有时回遇到一些奇怪的问题。次办法对springboot项目无效,因为springboot项目自带tomcat。


问题描述

启动springMvc项目,报错信息如下图所示
在这里插入图片描述

报错信息

[2022-09-28 08:54:09,610] 工件 chatroom:war exploded: 正在部署工件,请稍候…
28-Sep-2022 20:54:10.328 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到
28-Sep-2022 20:54:10.328 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[]启动失败
[2022-09-28 08:54:10,344] 工件 chatroom:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。
28-Sep-2022 20:54:19.459 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\Program Files\apache-tomcat-10.0.22\webapps\manager]
28-Sep-2022 20:54:19.631 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\Program Files\apache-tomcat-10.0.22\webapps\manager]的部署已在[172]毫秒内完成


原因分析:

最后的结果往往都各个版本之间的不匹配导致的

找到项目结构里的controller层,看一下导入的包

package cn.itcast.chatroom.web.controller;

import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import cn.itcast.chatroom.domain.User;

注意图片中红线框住的部分。
在这里插入图片描述

如果导入的是javax.servlet包,那就用tomcat8,tomcat9应该也行,没有验证9是不是可以。对应JDK的版本可以是JDK1.7或者JDK1.8。

如果导入的是jakarta.servlet包,那就用tomcat10。其中对应JDK的版本要是JDK15或者JDK18了。


解决方案:

controler层用的是javax.servlet包,对应的修改tomcat的版本。

把tomcat的版本修改成tomcat8.5。解决问题。

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45345143/article/details/127097002