컨트롤러에 aspect.xml 적용하는거 관련하여
- 작성자 :
- 김*현
- 작성일 :
- 2013-02-24 16:58:44
- 조회수 :
- 1,504
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
컨트롤러에 aspect.xml 적용하는거 관련하여
몇일전에 답변을 받았는데요..
--- 답변내용 ----
안녕하십니까.
Controller는 Controller 인터페이스를 구현하고 있으며 Controller 인터페이스의 프록시를 만드므로 execution이 인식하지 못합니다.
즉 Contoller에는 AOP가 적용되지 않으며, 대신 Interceptor를 이용하시는 방안을 검토해보시길 바랍니다.
감사합니다.
------------------
저렇게 답변을 받았습니다..
이건 전자정부 프레임워크랑 상관은 없는건데요..
컨트롤러의 익셉션을 Interceptor를 이용해서 로깅하라는 방안을 주셨는데
Interceptor의 afterCompletion을 구현시에
Exception 이 나면 로깅하라는 소리로 알아들었습니다
그런데 익셉션이 발생했는데도 Exception ex 가 null로 인식됩니다.
어떤 방법으로 인터셉터에서 컨트롤러의 에러를 캐취할수 있을지
조언이 가능하면 좀 부탁드립니다..
그리구요.... egov 파일 첨부시...
설정해둔 파일 용량을 초과할 경우..
컨트롤러에 implements HandlerExceptionResolver 상속한뒤
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) {
ModelAndView mav = null;
return mav;
}
resolveException 메소드를 구현하는 방법으로
에러를 캐취했었는데요...
저방법 말고 다른방법으로 용량초과에러를 캐취할수 있을까요??
읽어주셔서 감사합니다
오늘도 좋은하루 되세요
몇일전에 답변을 받았는데요..
--- 답변내용 ----
안녕하십니까.
Controller는 Controller 인터페이스를 구현하고 있으며 Controller 인터페이스의 프록시를 만드므로 execution이 인식하지 못합니다.
즉 Contoller에는 AOP가 적용되지 않으며, 대신 Interceptor를 이용하시는 방안을 검토해보시길 바랍니다.
감사합니다.
------------------
저렇게 답변을 받았습니다..
이건 전자정부 프레임워크랑 상관은 없는건데요..
컨트롤러의 익셉션을 Interceptor를 이용해서 로깅하라는 방안을 주셨는데
Interceptor의 afterCompletion을 구현시에
Exception 이 나면 로깅하라는 소리로 알아들었습니다
그런데 익셉션이 발생했는데도 Exception ex 가 null로 인식됩니다.
어떤 방법으로 인터셉터에서 컨트롤러의 에러를 캐취할수 있을지
조언이 가능하면 좀 부탁드립니다..
그리구요.... egov 파일 첨부시...
설정해둔 파일 용량을 초과할 경우..
컨트롤러에 implements HandlerExceptionResolver 상속한뒤
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) {
ModelAndView mav = null;
return mav;
}
resolveException 메소드를 구현하는 방법으로
에러를 캐취했었는데요...
저방법 말고 다른방법으로 용량초과에러를 캐취할수 있을까요??
읽어주셔서 감사합니다
오늘도 좋은하루 되세요
A
안녕하세요.
지난번에 질문하신 내용은 Spring AOP를 Controller에 적용 가능한지 여부에 대한 내용이었구요.
답변드린 내용은 일반적으로 Spring AOP는 Controller에 적용될 수 없으니, Controller 단에 공통적으로 적용하고 싶은 기능이 있을 경우 Interceptor를 활용하면 된다는 말씀을 드렸습니다.
이번에 질문하신 내용은 Controller 단에서 Exception 처리를 어떻게 해야하는 지로 요약됩니다.
Interceptor는 Controller가 수행되기 전에 수행되므로, Interceptor 에서는 Controller의 에러를 캐치할 수 없습니다.
이런 경우는 HandlerExceptionResolver를 활용하실 수 있습니다.
해당 Controller class가 HandlerExceptionResolver를 implements 하도록 하시고
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception exception) 메소드를 구현하시면 됩니다.
감사합니다.
지난번에 질문하신 내용은 Spring AOP를 Controller에 적용 가능한지 여부에 대한 내용이었구요.
답변드린 내용은 일반적으로 Spring AOP는 Controller에 적용될 수 없으니, Controller 단에 공통적으로 적용하고 싶은 기능이 있을 경우 Interceptor를 활용하면 된다는 말씀을 드렸습니다.
이번에 질문하신 내용은 Controller 단에서 Exception 처리를 어떻게 해야하는 지로 요약됩니다.
Interceptor는 Controller가 수행되기 전에 수행되므로, Interceptor 에서는 Controller의 에러를 캐치할 수 없습니다.
이런 경우는 HandlerExceptionResolver를 활용하실 수 있습니다.
해당 Controller class가 HandlerExceptionResolver를 implements 하도록 하시고
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception exception) 메소드를 구현하시면 됩니다.
감사합니다.