스프링에서 설정을 바꿀땐 application.yml의 설정을 건들면 된다. application.yml 파일에 모든 설정들을 하면 되고 규칙은 yaml파일의 규칙을 따른다.
스프링은 프로젝트에 진입하기 직전 application.yml 파일을 읽고 시작하게 된다.
다음과 같이 yml 파일을 설정하였다.
server:
port: 8000
servlet:
context-path: /blog
encodinsmg:
charset: UTF-8
enabled: true
force: true
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
username: cos
password: cos1234
jpa:
open-in-view: true
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
use-new-id-generator-mappings: false
show-sql: true
properties:
hibernate.format_sql: true
jackson:
serialization:
fail-on-empty-beans: false
1. 포트 안의 컨텍스트 설정, @Controller
컨텍스트 설정은 주소창에 입력하는 포트와 주소를 관리한다.
server:
port: 8000
servlet:
context-path: /blog
encodinsmg:
charset: UTF-8
enabled: true
force: true
port를 8000번으로 설정했으며, context-path를 /blog로 설정했기 때문에
해당 포트는 http://localhost:8000/http/blog/... 주소에서 작동한다(포트 8000, context-path /blog)
@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";
}
}
Controller 어노테이션은 파일을 리턴하며, return 부분에 파일명을 리턴할 때 "/" 슬래시를 붙여줘야 동작한다.
파일의 기본 경로는 src/main/resources/static인데, 슬래시를 붙이지 않고 그냥 home.html 이라고 쓰면
src/main/resources/statichome.html이 되어버리기 때문이다.
RestController는 문자 그 자체를 리턴한다면 Controller는 해당경로 이하에 있는 파일을 리턴한다.
2. prefix, suffix
spring:
# mvc:
# view:
# prefix: /WEB-INF/views/ 앞에 붙여주는 경로명
# suffix: .jsp 뒤에 붙여주는 경로명
//http://localhost:8000/blog/temp/jsp
@GetMapping("/temp/jsp")
public String tempJsp() {
//prefix : /WEB-INF/views/ 앞에 붙는 경로명
//suffix : .jsp 뒤에 붙는 경로명
return "test"; // /WEB-INF/views/test.jsp
}
jsp 파일
스프링부트는 기본적으로 jsp 파일을 지원하지 않는다.
정적인 것은 브라우저가 인식할 수 있어서 찾아줄 수 있는데(image, html 같은 파일들)
jsp 파일 같이 동적인 파일은 static에 넣을 수 없어서(동적이다 = 컴파일이 일어나야 한다) 브라우저가 인식할 수 없기 때문이다.
따라서 템플릿엔진을 jsp파일을 리턴하려면 porm.xml에 jsp 템플릿 엔진을 설정하고 기본경로를 static이 아닌 src에 따로 만든다.
경로를 src > main에 폴더를 만들고 그 안에 jsp 파일을 넣는다
본 강의는 '메타코딩'님의 동영상 강의를 참고하였습니다.
출처 : https://www.youtube.com/playlist?list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm
'JAVA > Spring' 카테고리의 다른 글
Json, RestController, 페이징 (0) | 2022.02.17 |
---|---|
JPA 테이블 생성하기, 연관 관계 (0) | 2022.02.17 |
Maven과 라이브러리/Builder 패턴/yaml 설정 (0) | 2022.02.17 |
포스트맨 실습 : 데이터 요청하기 (0) | 2022.02.17 |
http의 요청방법과 통신방식, header와 body (0) | 2022.02.17 |