본문 바로가기
카테고리 없음

TIL-33

by 오우지 2021. 11. 3.

MVC패턴이 생긴 이유

서블릿과 JSP의 한계:

1. 서블릿은 뷰 화면을 위한 HTML 작업이 자바 코드에 섞이게 된다. 이는 매우 복잡하고 지저분한 코드를 써야만 하는 단점이 있다. 그 대안으로 나온 JSP

2. JSP를 이용해 뷰를 생성하는 HTML작업을 가져가고 동적 변경이 필요할 때에만 자바 코드를 적용했다. 이는 서블릿보다 간단한 장점이 있지만, JSP의 문제는 다양한 코드가 노출되게 되고 JSP가 너무 많은 역할을 하게 된다.

3. 변경의 라이프 사이클이 다르다 : UI 수정과 비즈니스 로직의 수정을 다르게 발생할 가능성이 높은데 이를 하나의 코드로 관리하는 것은 유지보수 측면에서 좋지 않다.

4. JSP같은 뷰 템플릿은 화면 렌더링에 최적화되어 있기 때문에 이 부분의 업무만 담당하는 것이 효과적이다.

 

MVC 패턴이란

하나의 서블릿이나 JSP로 처리하던 컨트롤러, 뷰 영역을 서로 역할을 나눈 것이고 웹 애플리케이션은 보통 MVC패턴을 사용한다.

 

컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고 비즈니스 로직을 실행한다. 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다.

모델: 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 알 필요 없이 렌더링만 해주면 된다.

뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다.