////
Search
Duplicate
🕓

Chapter 2. 웹 애플리케이션 개발하기

이 장에서 배우는 내용
모델 데이터를 브라우저에서 보여주기
폼 입력 처리하고 검사하기
뷰 템플릿 라이브러리 선택하기
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 요청을 처리할 때는 뷰 컨트롤러를 사용할 수 있다.
타임리프에 추가하여 스프링은 다양한 뷰 템플릿을 지원한다.