🍃 Spring, Spring Boot/스프링 MVC
[Spring MVC] 7. 스프링 MVC - 기본 기능(3)
📝 HTTP 응답 - 정적 리소스, 뷰 템플릿 응답 데이터는 이미 앞에서 일부 다룬 내용들이지만, 응답 부분에 초점을 맞추어서 다시 정리해보자. 스프링(서버)에서 응답 데이터를 만드는 방법은 크게 3가지이다. 정적 리소스 예) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 뷰 템플릿 사용 예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. HTTP 메시지 사용 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 📜 정적 리소스 스프링 부트는 Class Path의 다음 디렉토리에 있는 정적 리소스를 제공한다. /static, /public, /re..
[Spring MVC] 6. 스프링 MVC - 기본 기능(2)
📝 HTTP 요청 - 기본, 헤더 조회 매핑 방법을 이해했으니, 이제부터 HTTP 요청이 보내는 데이터들을 스프링 MVC로 어떻게 조회하는지 알아보자. 애노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원한다. 먼저 HTTP 헤더 정보를 조회하는 방법을 알아보자. @Slf4j @RestController public class RequestHeaderController { @RequestMapping("/headers") public String headers( HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod, Locale locale, @RequestHeader MultiValueMap headerMap..
[Spring MVC] 5. 스프링 MVC - 기본 기능(1)
📝 로깅 간단히 알아보기 앞으로 로그를 사용할 것이기 때문에, 로그에 대해서 간단히 알아보자. 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 참고로 로그 관련 라이브러리도 많고, 깊게 들어가면 끝이 없기 때문에, 여기서는 최소한의 사용 방법만 알아본다. 📜 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다. SLF4J - http://www.slf4j.org Logback - http://logback.qos.ch 로그..
[Spring MVC] 4. 스프링 MVC 구조 이해하기
📝 스프링 MVC 전체 구조 직접 만든 MVC 프레임워크와 스프링 MVC를 비교해보자. 직접 만든 MVC 프레임워크 → 스프링 MVC 비교 FrontController → DispatcherServlet handlerMappingMap → HandlerMapping MyHandlerAdapter → HandlerAdapter ModelView → ModelAndView viewResolver → ViewResolver MyView → View 📜 DispatcherServlet 구조 살펴보기 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. 스프링 MVC의 프론트 컨트롤러가 바로 디스패처 서블릿(DispatcherServlet)이다. 그리고 이 디스패처 서블릿이 바로 스프링 MVC의 핵심이다. D..