Spring MVC 세션 속성
1. 문제 Date, LocalDate 및 LocalDateTime 매개 변수를 허용하는 세 가지 메서드가 있는 컨트롤러를 확인한다. @RestController public class DateTimeController { @PostMapping("/date") public void date(@RequestParam("date") D...
1. 문제 Date, LocalDate 및 LocalDateTime 매개 변수를 허용하는 세 가지 메서드가 있는 컨트롤러를 확인한다. @RestController public class DateTimeController { @PostMapping("/date") public void date(@RequestParam("date") D...
1. 메이븐 설정 Spring Boot 스타터를 사용하여 프로젝트를 부트스트랩하고 필요한 모든 종속성을 가져온다. 설정에는 상위 선언, 웹 스타터 및 thymeleaf 스타터가 필요하다. 또한 단위 테스트에 몇 가지 추가 유틸리티를 제공하기 위해 스프링 테스트 스타터를 포함한다. <parent> <groupId>org...
1. 스프링 @RequestMapping @RequestMapping은 웹 요청을 Spring 컨트롤러에 매핑하는 중요한 주석이다. HTTP 메소드, 요청 매개변수, 헤더 및 미디어 유형을 포함한 다양한 속성을 가지고 있다. 일반적으로 미디어 유형은 소비 가능 미디어와 생산 가능 미디어의 두 가지 범주로 분류된다. 이 외에도 Spring에서 사용자 ...
1. 구성 Java Validation API를 사용하려면 hibernate-validator와 같은 JSR 303 구현을 추가해야 한다. <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validato...
1. Enums을 요청 매개변수로 사용 예제에 대한 Enums을 정의한다. public enum Modes { ALPHA, BETA; } 그런 다음 이 열거형을 Spring 컨트롤러의 RequestParameter로 사용할 수 있다. @GetMapping("/mode2str") public String getStringToMode(@Re...
1. @PathVariable 매개변수를 바인딩하는 방법 기본적으로 Spring은 처리기 메서드에서 @PathVariable로 주석이 달린 모든 매개변수를 URI 템플릿의 해당 변수와 바인딩하려고 시도한다. Spring이 실패하면 해당 핸들러 메소드에 요청을 전달하지 않는다. 예를 들어, id 경로 변수를 선택 사항으로 만들려고 시도하는(실패한) 다...
1. 사용 사례 JSON 문서로 표현되는 HTTP 고객 리소스의 예이다. { "id":"1", "telephone":"001-555-1234", "favorites":["Milk","Eggs"], "communicationPreferences": {"post":true, "email":true} } 이 고객의 전화번...
1. Spring 뷰 기술 Spring MVC 애플리케이션의 문제가 한 뷰 기술에서 다른 뷰 기술로 완전히 분리되어 있다는 점을 고려하면 기본적으로 구성 문제이다. 각 뷰 유형을 렌더링하려면 각 기술에 해당하는 ViewResolver 빈을 정의해야 한다. 이는 일반적으로 JSP 파일을 반환하는 것과 동일한 방식으로 @Controller 매핑 메서드에...
1. Apache Tiles Apache Tiles는 Composite 디자인 패턴을 기반으로 구축된 무료 오픈 소스 템플릿 프레임워크이다. 컴포지트 디자인 패턴(Composite Design Pattern)은 객체를 트리 구조로 구성하여 전체 부분 계층을 표현하는 구조 패턴의 일종으로, 개별 객체와 객체의 구성을 균일하게 취급하는 패턴이다. 즉, ...
1. FreeMarker FreeMarker는 Apache Software Foundation의 Java 기반 템플릿 엔진이다. 다른 템플릿 엔진과 마찬가지로 FreeMarker는 MVC 패턴을 따르는 애플리케이션에서 HTML 웹 페이지를 지원하도록 설계되었다. 2. 메이븐 의존성 Maven 기반 프로젝트이므로 먼저 pom.xml에 필요한 종속성을 ...