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

Jaesang Yoon님의 프로필 이미지
Jaesang Yoon

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스프링 MVC 전체 구조

컨트롤러를 서블릿 의존적이지 않도록 하는 이유

작성

·

321

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
강사님께서 컨트롤러가 서블릿 의존적이지 않도록 리팩토링하셨는데요. 서블릿에 의존하지 않는 것이 어떤 장점이 있어서 그렇게 하신건지 이유가 궁금합니다 :)

답변 1

0

안녕하세요. Jaesang Yoon님, 공식 서포터즈 y2gcoder입니다.

개인적으로는 직접 저희가 MVC 프레임워크를 만들면서 했던 작업들과 스프링에서 DispatcherServlet를 사용하는 이유에 대해 질문해주셨다고 생각합니다.

처음에 만들 때는 서블릿에서 요청과 응답, 비즈니스로직과의 중개 역할까지 다 담당하고 있었습니다. 마지막으로 오면 프론트 컨트롤러에서는 비즈니스로직과의 중개 역할만 담당하고 HTTP 요청과 응답 처리만 서블릿에서 하고 있습니다. 이렇게 관심사를 분리하면 테스트를 쉽게 할 수 있고, 만들어봤던 것처럼 응답 객체도 다양하게 주는 등의 유연성과 확장성도 확보할 수 있었습니다.

서블릿 코드와 저희가 마지막까지 만들었던 프레임워크를 실무에서 사용해본다고 하면 저는 마지막에 저희가 만든 프레임워크로 개발하는 것이 더 용이하다고 생각합니다!

감사합니다.

Jaesang Yoon님의 프로필 이미지
Jaesang Yoon

작성한 질문수

질문하기