gpt4 book ai didi

Spring Boot,JSP 文件作为 View 在 IntelliJ 中运行时未加载

转载 作者:行者123 更新时间:2023-12-04 05:46:46 25 4
gpt4 key购买 nike

我在 intelliJ 中创建了一个简单的 Spring Boot Web 应用程序。我在/src/main/resources/templates/文件夹中放置了一个简单的 .jsp 文件,其中包含一些基本的 HTML。

我试图在 Controller 中返回它,但出现此错误;

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Sep 09 10:37:46 BST 2016
There was an unexpected error (type=Not Found, status=404).
No message available

我假设 Spring 无法找到 .jsp 文件,但控制台中没有出现其他错误以提供更多信息。

这是我的简单 Controller ;
@Controller
@RequestMapping("/test")
public class TestController {

@RequestMapping("")
public ModelAndView index() {
return new ModelAndView("test");
}

}

我在 application.properties 文件中包含了以下内容;
spring.mvc.view.prefix = /templates/
spring.mvc.view.suffix = .jsp

我的 POM 文件包含以下依赖项;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

我正在使用带有嵌入式 tomcat 的 Spring Boot。

我尝试将 application.properties 中的 View 路径更改为;
classpath:/templates/但这也没有任何区别。

最后,这是我的项目结构;

Project File Structure

运行应用程序时,我只是使用 IntelliJ 中的“运行”选项。

最佳答案

我最近经历了以下依赖项的相同情况:-

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

如果我将“范围”更改为“默认”,使用 Intellij 运行应用程序,它工作正常。

但是如果我想将“范围”保持为“提供”,我必须使用命令行(终端)并执行以下操作:-
mvn clean spring-boot:run

这个对我有用。

关于Spring Boot,JSP 文件作为 View 在 IntelliJ 中运行时未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39408610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com