•
이 장에서 배우는 내용
◦
모델 데이터를 브라우저에서 보여주기
◦
폼 입력 처리하고 검사하기
◦
뷰 템플릿 라이브러리 선택하기
•
1장에서는 애플리케이션 홈페이지를 보여주기 위해 스프링 MVC 컨트롤러를 생성하였다. 그러나 스프링 MVC는 정적인 콘텐츠보단 동적인 처리에 초점이 맞춰져있다.
1. 정보 보여주기
•
스프링 웹 어플리케이션에서는 데이터를 가져오고 처리하는 것이 컨트롤러의 일이다. 그리고 브라우저에서 보여주는 데이터를 HTML로 나타내는 것은 뷰가 하는 일이다.
•
여기서는 다음과 같은 컴포넌트를 생성할 것이다.
◦
타코 식자재의 속성을 정의하는 도메인 클래스
◦
식자재 정보를 가져와서 뷰에 전달하는 스프링 MVC 컨트롤러 클래스
◦
식자재의 내역을 사용자의 브라우저에 보여주는 뷰 템플릿
1. 도메인 설정하기
•
어플리케이션에서의 도메인은 해당 어플리케이션의 이해에 필요한 개념을 다루는 영역이다.
2. 컨트롤러 클래스 생성하기
•
컨트롤러는 스프링 MVC 프레임워크의 중심적인 역할을 수행하는데, HTTP 요청을 처리하고 브라우저에 보여줄 HTML을 뷰에 요청하거나, 또는 REST 형태의 응답 몸체에 직접 데이터를 추가한다.
3. 폼 입력 유효성 검사하기
•
스프링은 자바의 빈 유효성 검사를 지원하는데, 이를 사용하면 어플리케이션에 추가 코드를 작성하지 않고 유효성 검사 규칙을 쉽게 선언할 수 있다.
1. 유효성 검사 규칙 선언하기
•
@NotBlank, @Pattern 등이 존재한다.
요약
•
스프링은 스프링 MVC라는 강력한 웹 프레임워크를 제공하며 스프링 MVC는 스프링 어플리케이션의 웹 프론트엔드 개발에 사용된다.
•
스프링 MVC는 어노테이션을 기반으로 하며 @RequestMapping, @GetMapping, @PostMapping과 같은 어노테이션을 사용해서 요청 처리 메소드를 선언할 수 있다.
•
대부분의 요청 처리 메소드들은 마지막에 타임리프 템플릿과 같은 논리 뷰 이름을 반환한다. 모델 데이터와 함께 해당 요청을 전달하기 위해서다.
•
스프링 MVC는 자바 빈 유효성 검사 API와 Hibernate Validator 등의 유효성 검사 API 구현 컴포넌트를 통해 유효성 검사를 지원한다.
•
모델 데이터가 없거나 처리할 필요가 없는 HTTP GET 요청을 처리할 때는 뷰 컨트롤러를 사용할 수 있다.
•
타임리프에 추가하여 스프링은 다양한 뷰 템플릿을 지원한다.