■ Spring에서 직접 Exception을 처리하지 않고 그 Exception을 WebApplicationContext로 던지고 web.xml에서 지정한 404 에러 페이지에서 처리하도록 하는 경우가 있다. 만약 그 404 에러 페이지에서 MessageResource를 처리하는 코드가 있다면 Spirng에서 등록한 MessageResource를 쓰지 못하고 별도로 등록해야 한다. 즉 Spring DispatcherServlet에서 처리하지 않는(처리범위 내에 있지 않은) MessageResource를 등록한는 방법을 알아본다.
■ web.xml에 등록된 contextConfigLocation(application-config.xml)
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/application-config.xml</param-value> </context-param>
■ application-config.xml에 messageSource를 아래와 같이 등록한다.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="messages.application" /> </bean> </beans>
■ application-config.xml에 messageSource의 value를 ‘messages.application’으로 등록했기 때문에 아래의 캡쳐화면처럼 messages디렉토리 아래에 application.properties, application_ko.properties, application_en.properties등을 생성한다. 이 properties파일에 등록한 메세지들은 web.xml의 예외페이지에서 MessageResource를 사용할 수 있게 한다.
- SpringBoot Port 변경 2022년 12월 27일
- Spring 트랜잭션 관리 2019년 6월 20일
- Spring RESTful 웹 서비스 사용하기 2019년 6월 19일
- Spring RESTful 웹 서비스 2019년 6월 19일
- Spring Scheduling Task 예제 2019년 6월 18일
- spring mybatis mysql 연결 예제 2018년 5월 4일
- Spring Path Parameter 예제 2018년 2월 13일
- AngularJS $http, spring TEXT response 예제 2018년 1월 17일
- jdom2를 이용한 spring xml response(응답) 2017년 12월 5일
- jquery xml 요청, spring xml 리턴 2017년 12월 5일
- spring controller에서 get, post 동시 허용 방법 2017년 12월 5일
- mybatis, oracle procedure(오라클 커서)를 통한 데이터 조회 2017년 11월 6일
- HTTP 406 Not Acceptable in Spring, Jackson, Json 2017년 11월 6일
- ServletContextLister를 구현한 웹 애플리케이션 시작 시 작업 2016년 5월 2일
- Web Application MessageResource 2016년 3월 8일
- org.mariadb.jdbc.internal.common.QueryException : No database selected 2016년 2월 19일
- jquery spring – checkbox로 선택된 배열 주고 받기 2015년 8월 15일
- jquery spring ajax call 2015년 8월 15일
- spring json return 2015년 8월 15일
- spring exception – SimpleMappingExceptionResolver 2015년 8월 8일