[SPRING] 스프링 부트가 webapp 폴더 아래에서 index.html을 찾을 수 없습니다.
SPRING스프링 부트가 webapp 폴더 아래에서 index.html을 찾을 수 없습니다.
spring.io에서 다음 문서를 읽었을 때 기본적으로 Spring Boot는 classpath에 / static (또는 / public 또는 / resources / META-INF / resources) 디렉토리의 정적 컨텐츠를 제공하지만 내 인덱스를 넣을 때 .html 파일 / resources 아래에 문자열 인덱스가 렌더링됩니다. 현재 index.html은 webapp 아래 있으며 AngularJS를 사용하고 있습니다.
MVC 구성
@Configuration
public class MvcConfig {
@Bean
InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/webapp/");
resolver.setSuffix(".html");
return resolver;
}
}
인덱스 페이지의 안정적인 서비스
@RestController
public class IndexController {
@RequestMapping("/")
public String index(){
System.out.println("Looking in the index controller.........");
return "index";
}
}
내 IDE 콘솔에서 볼 수있는 것은 인덱스 컨트롤러를 보는 것입니다 ... IndexController에서 인쇄하고 크롬 개발 도구의 네트워크에서 로컬 호스트 200 만 볼 수 있습니다.
index.html
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> 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>
해결법
-
==============================
1.Spring Boot docs는 또한 다음과 같이 말합니다 :
Spring Boot docs는 또한 다음과 같이 말합니다 :
스프링 부트는 매우 독창적이며, 여러분이 디폴트에 저항하지 않을 때 가장 잘 작동합니다. / src / main / webapp에 파일을 올리는 데 어떤 이유도 보이지 않습니다. 프런트 엔드 애셋에 / src / main / resources / static을 사용하십시오. 그것은 가장 일반적인 장소입니다.
루트 레벨 컨트롤러를 만들 필요없이 루트 URI에서 이러한 정적 파일을 자동으로 제공합니다. 실제로 IndexController는 루트 URI에서 정적 프론트 엔드 파일을 제공하지 못하게합니다. 정적 파일 용 Controller를 작성하지 않아도됩니다.
또한 앱에 View Resolver가 필요하지 않습니다. 앱은 단일 페이지 각도 애플리케이션에서 소비하는 REST API 일뿐입니다. 따라서 HTML 템플릿은 클라이언트에 있습니다. 서버 측 HTML 템플릿 (예 : Thymeleaf 또는 JSP)을 수행하는 경우보기 확인자가 필요합니다. 그래서 그 조각도 제거하십시오.
-
==============================
2.
@RestController public class IndexController { @RequestMapping("/") public String index(){ System.out.println("Looking in the index controller........."); return "index"; } }
문제는 여기에 @RestController를 사용하고 있으므로이 경우 "return 'index';"라고 쓰면, 봄 부츠는 그냥 문자열 대답으로 그것을 다룹니다. 대신 @Controller 어노테이션을 사용해야합니다.
from https://stackoverflow.com/questions/35968479/spring-boot-cannot-find-index-html-under-webapp-folder by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JSR303 사용자 정의 유효성 검사기가 두 번 호출 됨 (0) | 2019.01.04 |
---|---|
[SPRING] Thymeleaf의 html에서 컨트롤러로 데이터를 보내시겠습니까? (0) | 2019.01.04 |
[SPRING] CDI @Inject를 사용하여 Spring 빈 삽입하기 (0) | 2019.01.04 |
[SPRING] spring-data-rest에 의해 게시 된 사용자 정의 jpa 저장소 메소드 (0) | 2019.01.04 |
[SPRING] 저지 - 스프링 3 인스턴스화 봄 관리 빈 (null!) (0) | 2019.01.04 |