정적 컨텐츠 (Static) : 작성된 HTML 파일 형식 그대로를 사용자에게 보여주는 것.
웹브라우저가 요청을 보내면 내장 톰캣 서버는
1) 매핑명이 동일한 컨트롤러를 찾음
2) 컨트롤러가 없는 경우, Static 폴더에서 동일 명칭의 static html파일을 찾아서 보여준다.
MVC : Model, View, Controller로 나누어 작성하는 것.
html파일(view)과 비즈니스 로직이 담긴 컨트롤러를 나누어 Model을 통해 이 데이터를 전달받아 사용자에게 보여주는 방식.
관심사를 분리해야 한다는 말이 MVC패턴을 적용해야 한다는 의미.
웹브라우저가 요청을 보내면 내장 톰캣 서버가
1) 매핑명과 동일한 컨트롤러를 찾음.
2) 컨트롤러에 return값이 String일 경우 해당 명의 template를 찾아 보여준다.
이때, 컨트롤러 내에 작성된 코드나 데이터 값 등도 함께 실행되거나 같이 templates html파일에 함께 실려진다.
즉, 사용자마다, 또는 상황마다 다른 값들이 매핑되어 화면에 보인다.
API
:html 파일을 통째로 넘기는 MVC패턴과 다르게 필요한 데이터만 전달해 주는 방식.
@ResponseBody 어노테이션을 사용해 해당 String값이 template명이 아니라 실제 전달할 값이라고 명시해 준다.
@ResponseBody사용 시
1) 컨트롤러의 해당 매핑명을 가진 컨트롤러를 실행
2) HttpMessageConverter를 이용해
단순 문자열인 경우 StringConverter가 문자열을 반환해 주고
객체인 경우 JsonConverter가 객체를 JSON 형태로 변환해 리턴해준다.
유용한 커맨드(인텔리제이)
CMD+P : Parameter Info.
CMD+Shift+Enter : 코드 자동완성
CMD+N: Generate. (getter, setter 등 생성 시)
[Spring boot] 테스트 케이스 작성하기 (0) | 2023.02.22 |
---|---|
[Spring Boot] Entity와 Repository (0) | 2023.02.20 |
[Spring Boot] (gradle) templates, View Resolver. devtools. build. (0) | 2023.02.19 |
[Spring Boot] 첫 시작시 - Library (0) | 2023.02.16 |
[Spring Boot] 다시 공부 시작. -기본 설정. (0) | 2023.02.15 |