[메타코딩] 스프링부트 강좌 17강(블로그 프로젝트) - yml설정하기
1. yaml이란?
- 정리가 잘 된 주소 참조합니다.
https://www.inflearn.com/questions/16184
yaml파일 이란 무엇인가요 - 인프런 | 질문 & 답변
안녕하세요 강사님 너무 질문이 많아서 죄송합니다. yaml파일 이라는 단어를 요 근래 많이 듣고 있는데 정확인 무슨 파일인가요 검색해 보지도 않고 무조건 질문을 드리는것 같아서 죄송하지만
www.inflearn.com
server:
port: 8000
servlet:
context-path: /blog
port는 8000이며, context-paht는 /blog입니다.
RestController 어노테이션은 문자 그대로를 return하는 반면,
Controller 어노테이션을 이용하게되면, file을 return하게 됩니다.
@Controller
public class TempControllerTest {
// http://localhost:8000/blog/temp/home
@GetMapping("/temp/home")
public String tempHome() {
System.out.println("tempHome()");
// 파일리턴 기본경로 : src/main/resources/static
// 리턴명 : /home.html
// 풀경로 : src/main/resources/static/home.html
return "/home.html";
}
}
스프링 부트의 경우는 JSP파일을 인식하지 못합니다.
그래서, JSP 템플릿 엔진을 pom.xml에 추가해줘야합니다.
<!-- JSP 템플릿 엔진 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
또한 JSP파일은 정적 파일이 아니기 때문에, 위의 파일 리턴 기본 경로인 static 하위에 위치하여도 JSP파일은 읽히지 않습니다. 이유는 static하위에는 브라우저가 인식 할 수 있는 정적 파일만 있어야합니다.
@GetMapping("/temp/jsp")
public String tempJsp() {
return "/test.jsp";
}
이를 위해, src/main/webapp/WEB-INF/views라는 폴더를 생성하고,
application.yml에 아래와 같이 추가합니다.
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
또한 해당 jsp를 호출할때 메소드에서의 호출 방법은 아래와 같습니다.
@GetMapping("/temp/jsp")
public String tempJsp() {
// prefix : /WEB-INF/views/
// suffix : .jsp
// 풀네임 : /WEB-INF/views/test.jsp
return "test";
}
static 하위의 파일에 접근하던것과 다르게 prefix, suffix가 존재하여 return시에 return하고자하는 파일명만 집어 넣으면 됩니다.
강의 주소 : https://youtu.be/U9OnYKiSf4g