2009-09-30 5 views
0

ID가 "exceptionResolver"인 bean을 설정하여 org.springframework.web.servlet.handler.SimpleMappingExceptionResolver의 인스턴스로 만들었습니다. 그런 다음 두 개의 속성, "defaultErrorView"및 "exceptionMappings"을 정의합니다.예외 처리기와 발송자가 전달하지 않음

나는 이것이 내 웹 응용 프로그램에서 던져지고 내가 지정한보기로 전달하는 예외를 잡아야한다는 것을 알고 있습니다.

이것은 일어나지 않습니다. 스택 트레이스가있는 표준 tomcat 500 오류 페이지 만 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 또한 스프링 2.5.5를 사용하고 컨트롤러/dao/etc ...은 모두 스프링 주석을 사용하여 정의됩니다.

여기 내 스택 추적에서 침이 나온다.

[org.springframework.orm.hibernate3.SessionFactoryUtils] - <Closing Hibernate Session> 
[org.hibernate.jdbc.ConnectionManager] - <releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]> 
[org.hibernate.jdbc.ConnectionManager] - <transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!> 
[org.springframework.web.servlet.handler.SimpleMappingExceptionResolver] - <Resolving exception from handler [[email protected]]: java.lang.NumberFormatException: null> 
[org.springframework.web.servlet.handler.SimpleMappingExceptionResolver] - <Resolving to view 'errors/applicationErrorPg2' for exception of type [java.lang.NumberFormatException], based on exception mapping [java.lang.NumberFormatException]> 
[org.springframework.web.servlet.handler.SimpleMappingExceptionResolver] - <Exposing Exception as model attribute 'exception'> 
[org.springframework.web.servlet.DispatcherServlet] - <Handler execution resulted in exception - forwarding to resolved error view: ModelAndView: reference to view with name 'errors/applicationErrorPg2'; model is {exception=java.lang.NumberFormatException: null}> 
java.lang.NumberFormatException: null 
    at java.lang.Long.parseLong(Long.java:372) 
    at java.lang.Long.parseLong(Long.java:461) 
    at controller.EditController.createEditDto(EditController.java:169) 
... 
[org.springframework.web.servlet.DispatcherServlet] - <Rendering view [org.springframework.web.servlet.view.JstlView: name 'errors/applicationErrorPg2'; URL [/WEB-INF/jsps/errors/applicationErrorPg2.jsp]] in DispatcherServlet with name 'apps'> 
[org.springframework.web.servlet.view.JstlView] - <Rendering view with name 'errors/applicationErrorPg2' with model {exception=java.lang.NumberFormatException: null} and static attributes {}> 
[org.springframework.web.servlet.view.JstlView] - <Added model object 'exception' of type [java.lang.NumberFormatException] to request in view with name 'errors/applicationErrorPg2'> 
[org.springframework.web.servlet.view.JstlView] - <Forwarding to resource [/WEB-INF/jsps/errors/applicationErrorPg2.jsp] in InternalResourceView 'errors/applicationErrorPg2'> 
[org.springframework.web.servlet.DispatcherServlet] - <Cleared thread-bound request context: [email protected]14f9> 
[org.springframework.web.servlet.DispatcherServlet] - <Successfully completed request> 
[org.springframework.web.context.support.XmlWebApplicationContext] - <Publishing event in context [o[email protected]53d4bf]: ServletRequestHandledEvent: url=[/app/edit.do]; client=[127.0.0.1]; method=[GET]; servlet=[apps]; session=[A459510CAB03A4868344995A602CFF27]; user=[UPDATE]; time=[94ms]; status=[OK]> 
[org.springframework.web.context.support.XmlWebApplicationContext] - <Publishing event in context [o[email protected]12489c0]: ServletRequestHandledEvent: url=[/app/edit.do]; client=[127.0.0.1]; method=[GET]; servlet=[apps]; session=[A459510CAB03A4868344995A602CFF27]; user=[UPDATE]; time=[94ms]; status=[OK]> 
[org.springframework.security.ui.ExceptionTranslationFilter] - <Chain processed normally> 
[org.springframework.security.context.HttpSessionContextIntegrationFilter] - <SecurityContextHolder now cleared, as request processing completed> 
+0

브라우저에는 어떤 것들이 들어 있습니까? 빈 페이지? stacktrace? – rodrigoap

+2

봄 2.5.5는 다소 버그가있었습니다. 사용 2.5.6, 그것은 단단한 바위입니다. – skaffman

답변

0

문제는 스프링 버전 2.5.5로 나타납니다. 나는 의존성을 2.5.1과 2.5.6.sec01 (별도)로 변경했고 포워딩은 예상대로 작동했다. 이 특정 문제에 대한 답을하지 않을 수 있지만

0

은, 난 그냥 온라인으로 대부분의 문서와 예제가

org.springframework.web.servlet.handler.SimpleMappingExceptionResolver

사용을 참조하지만, 포틀릿 환경에서 실행하는 경우 당신이 필요 발견 희망이 누군가에게 머리를 긁적의 몇 시간을 절약 할 수

org.springframework.web.portlet.handler.SimpleMappingExceptionResolver

를 사용합니다.

관련 문제