找不到 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 文件的主要内容,如果未能解决你的问题,请参考以下文章
springmvc的问题,URL分号之后的内容读不到这是为啥呢?
AWS Elastic Beanstalk Spring Boot fat JAR:找不到jsp
springboot 整合 web 项目找不到 jsp 文件