WebServlet과 Controller의 차이?

꼬마 개발자·2025년 1월 20일
0

공부를 하던 도중 @WebServlet이랑 @Controller의 차이가 궁금해서 찾아보았다.

우선 하는 일은 같다!

둘 다 HTTP요청을 처리한다는 점에서는 같다고 한다.
그럼 차이점이 무엇일까?

우선 @WebServlet은 JSP와 Servlet을 기술 스택 기반으로 가지고 있고,
@Controller는 Spring MVC의 컴포넌트이다.

눈에 띄는 차이점

WebServlet은 Servlet API이고... Controller는 Spring MVC이고... .

여러 차이점을 찾았지만 눈에 띈 차이점은 추상화 수준이라는건데,
@Controller는 추상화의 수준이 높다(다시 말해, Spring이 대부분 관리한다고 한다.)
그에 반해 @WebServlet은 추상화 수준이 낮아서, 일일히 관리를 해 주어야 한다고 한다.
어찌 보면 WebServlet은 반복적인 코드가 많이 생길 수도 있다는 말인데,

역으로 생각해보자

처음엔 단점인가? 싶기도 했지만, 성능 측면에서 보면 또 다른 느낌으로 다가왔다.
역으로 낮은 추상화 수준이기에 경량으로 개발할 수도 있다는 게 장점 아닐까?
물론 편한 건 Controller가 많이 편해보이긴 하지만.. 상황에 따라 WebServlet을 사용하는 것도 나쁘진 않아보인다.

피드백과 부연 설명, 틀린 부분 지적은 언제나 환영입니다!

profile
즐기면서 개발해요

0개의 댓글

관련 채용 정보