요청을 처리하는 동안 예외가 발생하는 경우 Spring은 예외 핸들러를 등록하는 다양한 방법을 제공합니다. 보기를 렌더링하는 동안 예외가 발생하면 비슷한 예외 처리를 적용 할 수 있습니까? 적어도 로깅을 수행하는 기능을 원합니다.뷰를 렌더링하는 동안 throw 된 예외를 처리하는 방법
0
A
답변
1
뷰 렌더링 중에 발생하는 예외는 엄청난 처리를 할 수 없다는 것이 문제입니다. 특히, 일반적으로 예외 보고서가 포함 된 HTML 페이지를 렌더링 할 수 없으며 예외가 throw되기 전에 응답에 일반적으로 "커밋"이 있기 때문에 5xx 응답을 보낼 수도 없습니다.
그래서 당신은 (아마도) 할 수있는 최선은 다음과 같습니다
- 가 잡아 예외를 기록보기 개체의 래퍼를 만들거나
- 는 서블릿 필터에 로깅을 수행
하지만 어쨌든 잡히지 않은 예외를 기록하도록 웹 컨테이너를 구성 할 수 있습니다.
난 그냥 봄의의 HandlerInterceptor 클래스는 예외가 발생하는 경우 호출 될 것이다 'afterCompletion'방법을 공개 발견
업데이트합니다. 이 대 필터를 사용하면 얻을 수있는 이점에 대해 생각해보십시오.
시도해보십시오. :-) 그러나 다음과 같이 생각하면 그것이 효과가 있을지는 의문입니다.
jsp를 렌더링하는 동안 예외가 발생하면 필터 또는 인터셉터를 사용하면 작동하지 않습니다. 그것은 밖으로 잘못 인쇄 않습니다
Dec 16, 2012 12:18:03 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.el.PropertyNotFoundException: Property 'fooo' not found on type java.lang.String"
불행하게도 예외 필터에 위쪽으로 전파되지 않습니다. 오류 알림을 보내고 실패한 요청에 대한 추가 정보를 기록하는 자체 로깅을 추가하고 싶습니다. 오류를 찾아 내기 위해 로그 파일을 주시하는 것은 좋은 방법이 아닙니다.
기회는 로그 메시지가 실제로 기록 서브 시스템을 사용하여 제조되어있다. 그렇다면 로깅 구성을 사용하여 JSP 엔진 로깅 이벤트에 대한 자체 처리기를 추가하고 특별한 알림을 보낼 수 있습니다.
예외가 1) JSP 뷰 렌더링 중에 throw되고 2) JSP 엔진이 전파하지 않는다는 사실은 (IMO) 사용자가이를 catch 할 수있는 방법이 없음을 의미합니다.
다른 옵션은 일반 시스템 모니터링의 일부로 로그 파일에 대한 스캐너를 설정하는 것입니다.
관련 문제
- 1. CloudPageBlob.BeginUploadFromStream에서 throw 된 예외를 처리하는 방법
- 2. vb.net throw 된 예외를 처리하는 강제 메서드
- 3. WPF 응용 프로그램의 인스턴스화 중에 throw 된 예외를 처리하는 방법?
- 4. WCF Duplex : 양방향 콜백에서 throw 된 예외를 처리하는 방법
- 5. 지역화 된 예외를 처리하는 방법?
- 6. 안드로이드 ContentProvider에서 throw 된 예외를 테스트하는 방법
- 7. 호출 클래스에서 throw 된 예외를 catch하는 방법
- 8. imageWithData에 의해 throw 된 예외를 catch하는 방법 :
- 9. ASP.NET에서 HttpRequestValidationException을 피하는 방법 예외를 야기한 동일한 뷰를 렌더링하는 MVC
- 10. @ExceptionHandler가 throw 된 예외를 처리하지 않습니다.
- 11. 예외를 throw 할 때 실패한 생성자를 처리하는 방법
- 12. 예외를 올바르게 처리하는 방법
- 13. jQuery에 전달 된 콜백에서 Throw 된 예외를 잡는 방법?
- 14. Backbone Marionette으로 뷰를 렌더링하는 방법
- 15. MVC2 부분 뷰는 뷰 경로를 확인하는 동안 예외를 throw/catch합니다.
- 16. 예외를 처리하는 방법
- 17. ctypes에서 throw 된 예외를 잡는 방법은 무엇입니까?
- 18. ASP.NET이 WebRole 클래스에서 throw 된 예외를 catch합니까?
- 19. JSP에서 예외를 throw
- 20. Spring MVC에서 뷰를 렌더링 할 때 발생하는 예외를 처리하는 방법은 무엇입니까?
- 21. .NET의 MVC에서 필터에 의해 throw 된 예외를 잡는 방법?
- 22. 공용 정적 웹 메서드에서 catch에서 throw 된 예외를 표시하는 방법
- 23. 계층화 된 아키텍처에서 예외를 처리하는 방법은 무엇입니까?
- 24. trigger.io를 사용하여 예외를 처리하는 방법
- 25. 플러시 단계에서 예외를 처리하는 방법?
- 26. 다층 애플리케이션에서 뷰를 처리하는 방법
- 27. node.js의 라이브러리에서 처리되지 않은 예외를 처리하는 방법
- 28. backbone.js에서 뷰를 다시 렌더링하는 것을 처리하는 가장 좋은 방법은 무엇입니까?
- 29. Python3에서 예외를 올바르게 처리하는 방법
- 30. 양식을 제출 한 후 Grails에서 뷰를 렌더링하는 동안 URL을 변경하십시오.
로깅을 수행하기 위해 서블릿 필터를 사용하는 것이 좋습니다. 예외를 야기한 요청에 대한 추가 정보 로깅을 허용합니다. 나는 월요일에 그것을 발사 할 것이고, 그것이 작동 할 때 견본을 게시 할 것이다. – Kyle
방금 Spring의 HandlerInterceptor 클래스가 예외가 발생했을 때 호출되는 'afterCompletion'메서드를 노출한다는 것을 알아 냈습니다.이 대 필터를 사용하면 얻을 수있는 이점에 대해 생각해보십시오. – Kyle
jsp를 렌더링하는 동안 throw 된 예외에 대해 필터 또는 인터셉터를 사용하면 작동하지 않습니다. 2012 년 12 월 16 일 12:18:03 org.apache.catalina.core.ApplicationDispatcher invoke 서블릿 jsp 용 Servlet.service()가 예외를 던졌습니다 javax.el.PropertyNotFoundException : 속성 'fooo 'java.lang.String 유형에 없습니다 "불행히도 예외가 필터 위쪽으로 전파되지 않습니다. 오류 알림을 보내고 실패한 요청에 대한 추가 정보를 기록하는 자체 로깅을 추가하고 싶습니다. 오류를 찾아내는 파일은 좋은 옵션이 아닙니다. – Kyle