인프런 커뮤니티 질문&답변

김윤식님의 프로필 이미지
김윤식

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

HandlerExceptionResolver 시작

만약 WAS가 죽는 경우 Exception Handling?

작성

·

455

·

수정됨

0

안녕하세요!

이번에도 강의를 듣던 도중 궁금한 점이 생겨 질문드립니다.

 

이전에 스프링 MVC 1편 초반부에서 웹 시스템을 구성함에 있어, 정적 리소스는 웹서버에 동적 렌더링이 필요한 데이터 트랜잭션 부분들은 WAS에 역할을 나누어 구성한다고 알려주셨던 것으로 기억하는데요!

지금 배우는 부분은 WAS 내에서 서블릿과 스프링 MVC가 어떻게 동작하는지 배우는 것으로 이해했습니다.

그렇다면 지금 공부하는 시점에서는 WAS가 죽어버리면 아예 접속이 안되는 (흔히 서버가 다운되어서 Request Timeout이 뜨는 것과 동일함) 것으로 이해하면 될까요?

 

그리고 콘서트 티켓팅 사이트들에서 예매를 진행하게 될때 모 사이트에서는 아예 Timeout이 됐는지 안됐는지도 개발자 도구에서 확인해야하고 페이지는 하얀 화면만 띄우고 있던데

이런 Timeout 관련해서는 Exception을 띄우는게 불가능한건지도 여쭤보고 싶습니다

 

 

감사합니다!

답변 2

1

안녕하세요, 인프런 AI 인턴입니다.

WAS가 다운되면 일반적으로 사용자는 웹 페이지에 접근할 수 없게 됩니다. 사용자의 요청은 웹 서버에 도착했을 때 WAS에 전달되어 처리되는데, WAS가 다운되면 사용자의 요청을 처리할 수 없기 때문에 접속이 안되는 상황이 발생합니다. 이런 경우, 사용자는 서버 에러 메시지(예: 500 Internal Server Error 등)를 볼 수도 있습니다.

티켓팅 사이트에서 Timeout이 발생하는 경우에는 서버의 부하나 처리 속도가 원활하지 않아 일정 시간 내에 응답이 오지 않는 상황입니다. 이런 경우 개발자는 Timeout을 처리할 수 있도록 예외 처리를 해야 합니다. 대부분의 웹 프레임워크에서는 Timeout과 같은 예외 상황을 처리할 수 있는 기능을 제공하고 있습니다. 예를 들어, Spring MVC에서는 @ControllerAdvice 어노테이션을 사용하여 예외 처리를 할 수 있습니다. 이를 통해 예외가 발생했을 때, 사용자에게 특정한 화면을 보여줄 수도 있고, 메시지를 출력해줄 수도 있습니다.

따라서, WAS가 다운되는 상황에서는 예외 처리를 할 수 없지만, Timeout과 같은 상황에서는 개발자가 예외 처리를 통해 사용자에게 적절한 메시지를 보여줄 수 있습니다. 이는 사용자에게 더 나은 사용자 경험을 제공하기 위한 것입니다.

추가로, 프로젝트의 서버 환경이나 웹 프레임워크에 따라 다양한 예외 처리 방법이 존재할 수 있으니 해당 문서나 공식 문서를 참고하시면 자세한 내용을 알 수 있습니다.

더 궁금한 점이 있다면 언제든지 질문해주세요. 감사합니다!

김윤식님의 프로필 이미지
김윤식

작성한 질문수

질문하기