책소개
이 책은 스프링을 이용하여 웹 시스템을 개발하고자 하는 사람을 위한 것입니다.
처음부터 스프링 프레임워크에 포함된 스프링 웹 MVC는 서블릿 API를 기반으로 구축된 오리지널 웹 프레임워크입니다.
실전 프로젝트 개발에 필요한 스프링 웹 MVC의 기본 활용과 JSP, 롬복 등을 함께 설명합니다.
스프링 웹 MVC의 실제 사용법에 중점을 두고 프로그램 코드 위주로 책이 구성이 되어 있습니다.
소스코드를 다운로드 받은 다음에 직접 코드를 실행해 보면 스프링 웹 MVC에 대한 개념을 좀 더 구체적으로 이해할 수 있을 것입니다.
온노트에서 출간된 실전 스프링 부트 시리즈의 일부 내용과 중복되므로 구매하기 전에 목차를 확인하기 바랍니다.
목차
1장 : 스프링 부트 개발환경
___1. 자바 설치
___2. Spring Tools 4 설치
___3. UTF-8 설정
2장 : 프로젝트 생성
___1. 웹 애플리케이션 생성
___2. 웹 애플리케이션 파일 구성
___3. 웹 애플리케이션 실행
___4. 웹 애플리케이션 스프링 MVC
___5. RESTful 웹 서비스 생성
___6. RESTful 웹 서비스 파일 구성
___7. RESTful 웹 서비스 실행
___8. RESTful 웹 서비스 스프링 MVC
___9. 스프링 MVC 구조
___10. 스프링 스타터 프로젝트 의존성
3장 : 롬복
___1. 롬복 설치
___2. 자바빈즈
___3. 롬복 애너테이션
___4. @Getter와 @Setter
___5. @ToString
___6. @EqualsAndHashCode
___7. @NoArgsConstructor
___8. @RequiredArgsConstructor
___9. @AllArgsConstructor
___10. @Data
___11. @Builder
___12. @Slf4j
4장 : 컨트롤러 요청 매핑
___1. 요청 경로 매핑
___2. 경로 패턴 매핑
___3. Http 메서드 매핑
___4. Params 매핑
___5. Headers 매핑
___6. Content Type 매핑
___7. Accept 매핑
5장 : 컨트롤러 응답
___1. void 타입
___2. String 타입
___3. 자바빈즈 클래스 타입
___4. 컬렉션 List 타입
___5. 컬렉션 Map 타입
___6. ResponseEntity<Void> 타입
___7. ResponseEntity<String> 타입
___8. ResponseEntity<자바빈즈 클래스> 타입
___9. ResponseEntity<List> 타입
___10. ResponseEntity<Map> 타입
___11. ResponseEntity<byte[]> 타입
___12. 컨트롤러 메서드 반환 값
6장 : 컨트롤러 요청 처리
___1. 컨트롤러 메서드 파라미터
___2. 요청 처리
___3. 요청 데이터 처리 애너테이션
___4. 요청 처리 자바빈즈
___5. Date 타입 처리
___6. @DateTimeFormat 애너테이션
___7. @JsonFormat 애너테이션
___8. 폼 요청 처리
___9. 파일업로드 폼 요청 처리
7장 : 데이터 전달자 모델
___1. 모델 객체
___2. 모델을 통한 데이터 전달
___3. @ModelAttribute 애너테이션
___4. RedirectAttributes 타입
8장 : JSP
___1. 지시자
___2. 스크립트릿
___3. 커스텀 태그 라이브러리
___4. 표현 언어 (EL)
___5. 표준 태그 라이브러리 (JSTL)
___6. 코어 태그
___7. 숫자 및 날짜 포맷팅 처리 태그
___8. 자바 8 java.time JSP 태그
___9. EL 함수
9장 : 스프링 폼
___1. 폼 요소
___2. 텍스트 필드 요소
___3. 패스워드 필드 요소
___4. 텍스트 영역 요소
___5. 여러 개의 체크박스 요소
___6. 체크박스 요소
___7. 여러 개의 라디오 버튼 요소
___8. 라디오 버튼 요소
___9. 셀렉트 박스 요소
___10. 숨겨진 필드 요소
___11. 입력값 검증 에러
10장 : 입력 유효성 검증
___1. 입력값 검증
___2. 입력값 검증 결과
___3. 입력값 검증 규칙
___4. 중첩된 자바빈즈 입력값 검증
11장 : 메시지 처리
___1. 메시지 소스 정의
___2. 컨트롤러에서 메시지 소스 사용
___3. 국제화
12장 : 세션과 쿠키
___1. 로그인 처리
___2. 로그아웃 처리
___3. 쇼핑 카트 구현
___4. @SessionAttribute
___5. @SessionAttributes
___6. 쿠키 활용
13장 : 예외 처리
___1. 예외 처리
___2. 예외 상황
___3. 예외 처리 애너테이션
___4. 예외 정보 출력
___5. 404 에러 페이지 처리
___6. 입력값 검증 예외 처리
14장 : 인터셉터
___1. 인터셉터 설명
___2. 인터셉터 설정
___3. 인터셉터 활용 - 세션 처리
___4. 인터셉터 활용 - 접근 로그 저장
___5. 여러 개의 인터셉터 지정
부록
___1. 업데이트
___2. 소스 다운로드
___3. 예제 프로젝트 불러오기
___4. 세션 쿠키 삭제하기
부록 : 스프링 웹 MVC
___1. DispatcherServlet
___2. 필터
___3. 애너테이션이 달린 컨트롤러
___4. Functional 엔드포인트
___5. URI 링크
___6. 비동기 요청
___7. CORS
___8. 웹 보안
___9. HTTP 캐싱
___10. 뷰(View) 기술
___11. MVC 설정
___12. HTTP/2