본문 바로가기

SpringMVC6

Thymeleaf 사용법 1. 타임리프 사용 선언 2. 속성 변경 - th:href (1) 핵심 th:xxx가 붙은 부분은 서버사이드에서 렌더링 되고, 기존 것을 대체한다. th:xxx이 없으면 기존 html의 xxx속성이 그대로 사용된다. HTML을 파일로 직접 열었을 때, th:xxx가 있어도 웹 브라우저는 th: 속성을 알지 못하므로 무시한다. 따라서 HTML을 파일 보기를 유지하면서 템플릿 기능도 할 수 있다. (2) Example EX) href="../css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" href="value1"을 th:href="value2"의 값으로 변경한다. 타임리프 뷰 템플릿을 거치게 되면 원래 값을 th:xxx값으로 변경한다. 만약 값이 없다.. 2021. 9. 19.
HTTP Message Converter HTTP API처럼 JSON 데이터를 HTTP Message Body에서 직접 읽거나 쓰는 경우 HTTP Message Converter를 동작한다. ViewResolver 대신에 HttpMessageConverter가 동작 스프링 MVC는 다음의 경우에 HTTP Message Converter가 동작한다. HTTP 요청 : @RequestBody, HttpEntity(RequestEntity) HTTP 응답 : @ResonseBody, HttpEntity(ResponseEntity) 1. HTTP Message Converter Interface package org.springframework.http.converter; public interface HttpMessageConverter { bool.. 2021. 9. 18.
HTTP Response 1. Response data를 만드는 방법 3가지 (1) 정적 리소스 ex) 웹 브라우저에 정적인 HTML, css, js을 제공할 때는, 정적 리소스를 사용한다. (2) 뷰 템플릿 사용 ex) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. (3) HTTP 메시지 사용 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 2. 정적 리소스 스프링 부트는 클래스 패스의 다음 디렉터리에 있는 정적 리소스를 제공한다. 정적 리소스 경로 : src/main/resources/static EX) 다음 경로에 파일이 들어 있다면 : src/main/resources/static/basic/hell.. 2021. 9. 18.
HTTP Request - (2) (feat. Request Message Body) Request Parameter와 다르게, HTTP Message Body를 통해 데이터가 직접 데이터가 넘어오는 경우 1. Text (1) HttpEntity /** * HttpEntity: HTTP header, body 정보를 편라하게 조회 * - 메시지 바디 정보를 직접 조회(@RequestParam X, @ModelAttribute X) * - HttpMessageConverter 사용 -> StringHttpMessageConverter 적용 * * 응답에서도 HttpEntity 사용 가능 * - 메시지 바디 정보 직접 반환(view 조회X) * - HttpMessageConverter 사용 -> StringHttpMessageConverter 적용 */ @PostMapping("/reques.. 2021. 9. 17.
@RequestMapping 1. 기본 요청 package hello.springmvc.basic.requestmapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); /** * 기본 요청 * 둘다 허용 /hello-basic, /hello-basic/ * HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE */ @RequestMapping("/hello-b.. 2021. 9. 15.
SpringMVC 구조 1. 동작 순서 (1) Handler 조회 : HandlerMapping을 통해 요청 URL에 매핑된 Handler(Controller)를 조회한다. (2) HandlerAdapter 조회 : Handler를 실행할 수 있는 HandlerAdapter를 조회한다. (3) HandlerAdapter 실행 : Handler adapter를 실행한다. (4) Handler 실행 : HandlerAdapter가 실제 Handler를 실행한다. (5) ModelAndView 반환 : HandlerAdapter는 Handler가 반환하는 정보를 ModelAndView로 변환해서 변환한다. (6) ViewResolver 호출 : ViewResolver를 찾고 실행한다. (7) View 반환 : ViewResolver.. 2021. 9. 15.
반응형