Spring Boot无法在webapp文件夹下找到index.html

我从spring.io阅读了以下文档,但它说,By default Spring Boot will serve static content from a directory called /static (or /public or /resources or /META-INF/resources) in the classpath但是当我将index.html文件放在 字符串下时/resources,才呈现出来。目前在webapp下,我 正在使用AngularJS

indexindex.html

MvcConfiguration

@Configuration

public class MvcConfig {

@Bean

InternalResourceViewResolver viewResolver(){

InternalResourceViewResolver resolver = new InternalResourceViewResolver();

resolver.setPrefix("/webapp/");

resolver.setSuffix(".html");

return resolver;

}

}

Restful Service for index page

@RestController

public class IndexController {

@RequestMapping("/")

public String index(){

System.out.println("Looking in the index controller.........");

return "index";

}

}

在我的IDE控制台上,我确实看到了 从IndexController Looking in the index controller......打印的内容

,并且在Chrome开发工具中的网络下面看到了该内容,但我只能

看到localhost 200

index.html

<body>

<!--[if lt IE 7]>

<p class="browsehappy">You are using an <span>outdated</span> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>

<![endif]-->

<div ng-view></div>

<div>Angular seed app: v<span app-version></span></div>

回答:

Spring Boot docs also says:

如果您的应用程序将

打包为jar,则不要使用src / main / webapp目录。尽管此目录是一个通用标准,但它

仅适用于war打包,

如果生成jar ,大多数构建工具都将默默地忽略该目录。

Spring Boot非常自以为是,当您不尝试抵制

默认值时,它会发挥最佳作用。我看不到将文件放入的任何原因

/src/main/webapp。仅/src/main/resources/static用于您的前端

资产。那是最常见的地方。

它将自动从根URI提供这些静态文件,而无需

创建任何根级别Controller。实际上,您IndexController

阻止从根URI提供静态前端文件。完全不需要

创建Controller静态文件。

另外,您的应用程序不需要视图解析器。您的应用只是

单页角度应用所使用的REST API 。因此,您的HTML模板位于

客户端。如果要进行服务器端HTML模板化

(例如,使用Thymeleaf或JSP),则需要视图解析器。所以也去掉那一块。

以上是 Spring Boot无法在webapp文件夹下找到index.html 的全部内容, 来源链接: utcz.com/qa/407561.html

回到顶部