Spring 3.0 기반의 MVC 에서는 여러가지 Resolver를 통해서 각 페이지를
호출할 수 있도록 지원해주고 있다. 하지만, Resolver를 2개 이상 사용하기 위해서는
여러가지 번거로움이 있다. 특히 eGov (전자정부 F/W)을 활용하여 개발하였을때에는
Mulit Resolver를 구현하기 위해서는 별도 Java파일로 Custom Resolver를 구현해주어야 한다.
(1) Multi Resolver를 구현하기 위해 별도 Java File 생성함.
package com.bizdebn.common.resolver; import java.util.Locale; /** /** |
설명 : 위코드를 보고 잠시 설명하도록 하자. 기존에 eGov에서 많이 사용하는 UrlBasedViewResolver는
InternalResourceViewResolver 를 상속받아 구현한 Resolver이다.
InternalResourceViewResolver의 특징은 만약 prefix와 surfix에 매칭되는 URL이 아닌경우에는 Exception
을 발생시키게 된다. 이러한 문제때문에 multi resolver를 선언하였을 경우에는 우선순위에 따라 아래의
Resolver가 실행이 안되는 문제점이 발생된다. 위 소스에서는 Exception을 발생시키는 해당 메소드인
loadView 메소드를 단순 null값을 반환하는 로직으로 오버라딩 한 것이다.
(2) Spring MVC 설정파일 수정
<!-- CustomView Resolver 설정(다중View를 사용하기 위해, 확장자가 JSP인경우 NULL을 리턴하도록 구현함) --> |
설명 : 위 설정파일을 보게 되면 우선순위 값인 p:order 값이 1인 CustomViewResolver가 먼저 동작하게 된다.
만약 매칭되는게 없다면 (1) 에서 오버라딩한 메소드 내부에서 null을 반환하기 때문에 p:order가 2인 UrlBasedViewResolver
가 구동되게 된다.
실제 삼성에서 만든 Anyframework 또한, 위와 같은 작업을 해주어야 한다고 guide에 나와있는것을 확인하였다.
eGov또한 Q&A게시판을 통해 조회한 결과 위와 같은 작업을 해주어야 한다고 한다.
Spring MVC가 편한건 사실이지만, 저러한 잡다한 설정으로 인해 결국, Struts2로 마음이 가게되는게 사실이다.
그럼 이상 랑이의 공부는 끝!!
- 2013.10.20 밤에 공부중인 랑이의 글 -
'Program > JAVA' 카테고리의 다른 글
오라클 Java License 유료 or 무료 확실히 알아보자. (0) | 2023.02.21 |
---|---|
The install4j wizard could not find a Java (TM) Runtime Environment 에러 원인 해결 (0) | 2023.02.21 |
ShellScript를 이용한 jar파일만들기 (0) | 2012.08.09 |
JAVA에서 윈도우 명령어 실행하기 (0) | 2012.06.14 |
Java에서 사용되는 정규식 종류 및 소개 (0) | 2012.01.25 |