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
@Configurationpublic class MvcConfig {
@Bean
InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/webapp/");
resolver.setSuffix(".html");
return resolver;
}
}
Restful Service for index page
@RestControllerpublic 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