找不到 Spring MVC 控制器 jsp 文件

Posted

技术标签:

【中文标题】找不到 Spring MVC 控制器 jsp 文件【英文标题】:Spring MVC Controller jsp file not found 【发布时间】:2021-04-03 22:55:38 【问题描述】:

我正在创建一个用于培训目的的简单演示网站。网络正确显示静态内容 index.html,但每当我尝试路由到 /greeting url(由我的控制器指定)时,我都会收到 404 错误,如下所示

但是我的代码结构如下

并且配置了 applicaiton.properties 文件:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

我的控制器也被定义了:

package com.pluralsight.conference.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.Map;

@Controller
public class GreetingController 
    @GetMapping("greeting")
    public String greeting(Map<String,Object> model) 
        model.put("message","Hello Jonel");
        return "greeting";
    

我的pom.xml配置为war,依赖如下

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

</dependencies>

乔尼尔

【问题讨论】:

您的ConferenceApplication 是否扩展SpringBootServletInitializer 确实如此。这就是为什么我很惊讶 【参考方案1】:

要使用jsp 作为您的视图解析器,您需要另一个用于 Spring Boot Starter Web 的嵌入式 servlet 容器。将以下内容添加到 pom.xml 中的依赖项

<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
   <scope>provided</scope>
</dependency>

【讨论】:

移除 spring-boot-starter-tomcat 依赖 我终于需要把WEB-INF名字改成另一个了!! WEB-INF 完美运行。我自己尝试过,第一次尝试就成功了 我正在使用版本 2.4.1 spring-boot-starter-parent。试试那个版本

以上是关于找不到 Spring MVC 控制器 jsp 文件的主要内容,如果未能解决你的问题,请参考以下文章

spring mvc 访问不到 js css

springmvc的问题,URL分号之后的内容读不到这是为啥呢?

AWS Elastic Beanstalk Spring Boot fat JAR:找不到jsp

springboot 整合 web 项目找不到 jsp 文件

构建 Spring MVC 应用程序,控制器“找不到符号”模型

Spring MVC 控制器问题:找不到带有 URI 的 HTTP 请求的映射