검색결과 리스트
exception에 해당되는 글 2건
- 2007.05.30 Spring jsp 예외처리 전략 20
- 2007.05.29 Spring 의 exception 처리 전략 26
Spring 의 bean 부분의 예외를 처리했다고 해도.
기본적으로 jsp 페이지 내에서 발생하는 예외는 spring 만으론 잡을수 없다.
그래서 아래와같은 방법을 썻다.
- web.xml
[code] <error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>[/code]
- 위와같이 error.jsp 파일을 지정한다.
- error.jsp
[code]<%@page contentType="text/html;chraset=utf-8" isErrorPage="true"%>
<%=exception%>[/code]
- 여기서 중요한건 isErrorPage 속성을 true 로 했다는것이다.
- 이렇게 하면 request 에 "javax.servlet.error.exception" 라는 attribute 가 들어있으면 위와같이 그냥 exception 변수를 쓸수있게 된다.
- BaseExceptionResolver.java
[code]package dic.resolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class BaseExceptionResolver implements HandlerExceptionResolver {
private String view = null;
public void setView(String view) {
this.view = view;
}
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception exception) {
exception.printStackTrace();
request.setAttribute("javax.servlet.error.exception",exception);
return new ModelAndView(view);
}
}[/code]
- 위 파일은 예전에 bean 예외를 잡기위해 만들었던 파일인데 저기다가 위와같이 request 에 javax.servlet.error.exception 예외를 추가하면 jsp 의 errorpage 를 그대로 사용할수 있다.
자 이것으로 class 와 page 에서 나는 모든 에러를 한 페이지에서 잡을수 있게 되었다.
Spring 에서 MultiActionController 사용하기 (29) | 2007.06.03 |
---|---|
Spring 에서 properties 파일 다루기. (33) | 2007.06.01 |
Spring 의 exception 처리 전략 (26) | 2007.05.29 |
클래스의 toString 및 equals 메소드 자동으로 만들어주기. (47) | 2007.05.26 |
기본 Controller 지정하기. (23) | 2007.05.24 |
Spring 에서 Exception 을 처리하기위해서는 두가지 방법이 있다.
첫번째는 아래와같이 SimpleMappingExceptionResolver 클래스를 사용하는 방법이다.
- springapp-servlet.xml
[code] <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">error</prop>
</props>
</property>
</bean>[/code]
여기서 쓰인 error 는 viewResolver 에 의해 파싱되어서 가게 된다.
두번째 방법으로는 아래와같이 HandlerExceptionResolver 인터페이스를 직접 상속받아서Resolver 를 만들어 내는 방법이있다.
- BaseExceptionResolver.java
[code]package dic.resolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class BaseExceptionResolver implements HandlerExceptionResolver {
private String view = null;
public void setView(String view) {
this.view = view;
}
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception exception) {
request.setAttribute("exception",exception);
return new ModelAndView(view);
}
}[/code]
위 파일의 bean 설정은 아래처럼 하면 된다.
- springapp-servlet.xml
[code] <bean id="exceptionResolver" class="dic.resolver.BaseExceptionResolver">
<property name="view" value="error"/>
</bean>[/code]
- 이 방법을 쓰는이유는 request 로 exception 을 넘기기 위해서이다.
Spring 에서 properties 파일 다루기. (33) | 2007.06.01 |
---|---|
Spring jsp 예외처리 전략 (20) | 2007.05.30 |
클래스의 toString 및 equals 메소드 자동으로 만들어주기. (47) | 2007.05.26 |
기본 Controller 지정하기. (23) | 2007.05.24 |
SPRING (25) | 2007.02.28 |
RECENT COMMENT