Spring과 Apache Tiles 통합
1. Apache Tiles Apache Tiles는 Composite 디자인 패턴을 기반으로 구축된 무료 오픈 소스 템플릿 프레임워크이다. 컴포지트 디자인 패턴(Composite Design Pattern)은 객체를 트리 구조로 구성하여 전체 부분 계층을 표현하는 구조 패턴의 일종으로, 개별 객체와 객체의 구성을 균일하게 취급하는 패턴이다. 즉, ...
1. Apache Tiles Apache Tiles는 Composite 디자인 패턴을 기반으로 구축된 무료 오픈 소스 템플릿 프레임워크이다. 컴포지트 디자인 패턴(Composite Design Pattern)은 객체를 트리 구조로 구성하여 전체 부분 계층을 표현하는 구조 패턴의 일종으로, 개별 객체와 객체의 구성을 균일하게 취급하는 패턴이다. 즉, ...
1. FreeMarker FreeMarker는 Apache Software Foundation의 Java 기반 템플릿 엔진이다. 다른 템플릿 엔진과 마찬가지로 FreeMarker는 MVC 패턴을 따르는 애플리케이션에서 HTML 웹 페이지를 지원하도록 설계되었다. 2. 메이븐 의존성 Maven 기반 프로젝트이므로 먼저 pom.xml에 필요한 종속성을 ...
1. Velocity Velocity는 일반 텍스트 파일, SQL, XML, Java 코드 및 기타 여러 유형으로 작업할 수 있는 Apache Software Foundation의 템플릿 엔진이다. 2. 메이븐 의존성 다음 종속성을 사용하여 Velocity 지원을 활성화한다. <dependency> <groupId>or...
1. 메이븐 의존성 종속성을 추가한다. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.7.RELEASE</version&...
1. Handleradapter란 HandlerAdapter는 기본적으로 Spring MVC에서 매우 유연한 방식으로 HTTP 요청 처리를 용이하게 하는 인터페이스이다. 이는 메소드를 특정 URL에 매핑하는 HandlerMapping과 함께 사용된다. 그러면 DispatcherServlet은 HandlerAdapter를 사용하여 이 메소드를 호출한...
1. 개별 객체를 요청 매개변수에 바인딩 간단한 유형을 바인딩한다. Converter<S, T> 인터페이스의 사용자 정의 구현을 제공해야 한다. 여기서 S는 변환할 원본 유형이고 T는 변환할 유형이다. @Component public class StringToLocalDateTimeConverter implements Converter...
1. 간단한 단계 따라야 할 간단한 단계이다. 오류가 생성될 때마다 오류를 처리하는 메서드에 매핑되는 web.xml에 단일 URL /errors를 지정한다. /errors 매핑을 사용하여 ErrorController라는 컨트롤러를 만든다. 런타임 시 HTTP 오류 코드를 파악하고 HTTP 오류 코드에...
1. 문제 Spring으로 API 엔드포인트를 구현할 때 일반적으로 소비/생산 미디어 유형을 지정해야 한다(소비 및 생성 매개변수를 통해). 이렇게 하면 API가 해당 특정 작업에 대해 클라이언트에 다시 반환할 수 있는 형식이 좁아진다. HTTP 에는 클라이언트가 인식하고 수락할 수 있는 미디어 유형을 지정하는 데 사용되는 전용 “Accept” 헤더...
1. 설정 API의 이점을 활용하기 위해 pom.xml 파일에 종속성을 추가한다. <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6....
1. HttpServletResponse 사용 이미지 다운로드의 가장 기본적인 접근 방식은 응답 객체에 대해 직접 작업하고 순수 서블릿 구현을 모방하는 것이다. @RequestMapping(value = "/image-manual-response", method = RequestMethod.GET) public void getImageAsByteAr...