반응형

스프링(Spring) 구조에서 어떤 특정한 소스 코드에서는 Exception을 다르게 태우고 싶은 경우가 있다. 이 경우에 아래와 같이 하면 특정 소스 코드에 Exception 따로 생성하여 처리할 수 있다. 거의 공통적으로, 웹에서 사용되는 Exeption은 sqlException, sessionException, dataException 등이 있다. 이 외에 다른 Exeption이 발생할 경우에는 개발자가 따로 정의하여 Exeption 처리를 할 수 있다.

 


지금 이 글에서 적는 Exception 처리하는 경우는 jsp에서의 error가 아닌, jsp를 불러오기 전의 로직에서 Exception 에러가 발생하는 경우다. jsp에서의 error가 발생하는 경우에는 web.xml에서 처리를 할 수 있지만, 이 경우에는 다르게 한다.

 

특정 소스 코드에 Exception 따로 생성하여 처리하는 방법

1. 먼저, servlet-context.xml에 exception을 등록한다.

- 아래와 같이, aException이라는 Exception을 등록한다.

<bean
	class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
	<property name="exceptionMappings">
		<props>
			<prop key="com.test.exception.AException">
				aException
			</prop>
		</props>
	</property>
	<property name="exceptionAttribute" value="exceptionMsg" />
</bean>

 

2. aException의 class를 만든다.

- 아래 코드와 같이, AException은 Exception을 상속받는다.

package com.test.exception;

public class AException extends Exception {

	private static final long serialVersionUID = -123456789123813584L;
}

 

3. aException의 jsp파일을 만든다.

- Exception 에러가 발생하는 경우, 이 Exception을 캐치하여 화면을 보여줄 jsp를 만들어야 한다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	String msg = "No corresponding screens or data were found.";
%>
<%=msg%>

 

이렇게 하면, 특정 소스 코드에서 발생하는 Exception을 다르게 처리할 수 있다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기