Spring MVC를 사용하여 일부 서블릿을 Spring 프레임 워크로 마이그레이션하려고합니다. 현재 각 서블릿에서 우리는 사용자를 인증하고 인증은 우리가 할 실패했을 경우Spring 컨트롤러 나 서비스에서 에러와 메시지 리턴하기
프런트 엔드에if (authfailed)
{
response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
"You are not authorized.");
return;
}
는 YUI 기반 응용 프로그램이며, 오류 상태가 반환 된 경우 "실패"콜백 대화 상자가 표시됩니다를 위에 주어진 오류 메시지와 함께.
컨트롤러에서 응답 객체를 가져올 수 있고 sendError
이라고 부를 수는 있지만이를 처리하는 가장 좋은 방법은 무엇입니까? sendError
도 IOException을 던져서 모든 컨트롤러의 모든 메서드에 삽입하는 성가신 코드를 잡아야합니다.
서블릿에는 catch 메소드에서 sendError
을 호출하는 try-catch 블록이 있습니다. 나는
@ExceptionHandler
@ResponseStatus(value = HttpStatus.NOT_FOUND)
내 예외 핸들러를 표시 할 수 있습니다 알고 있지만 예외 처리 클래스는 각각의 컨트롤러 클래스에있을 필요가 없다?
마지막으로 컨트롤러에서 호출 된 서비스에서 예외가 발생하면 컨트롤러에서 예외가 발생합니까? 아니면 서비스에서 예외를 처리해야합니까? (따라서 이러한 예외 처리 문제가 서비스 계층으로 푸시됩니다)?
이것은 더 어려워 보이지만, 봄의 많은 것들과 마찬가지로 나는 무슨 일이 일어나고 있는지 이해할 수 없을 것입니다. 내가하고 싶은 것은 응답에 에러 상태와 메시지를 되돌려 보내는 것뿐입니다!
감사합니다,
바울은
감사합니다. 문제를 너무 망설였습니다. 때로는 내가 봄과 함께 일할 때 일어난다. 나는 내 머리 속에서 너무 많은 아이디어를 얻었고 그것들을 분류 할 수 없다. – Paul