본문 바로가기
교재 실습/자바 웹 프로그래밍 Next Step

6.4 MVC 프레임워크 요구사항 1단계

by Jint 2025. 5. 12.

대략 2000년대 초중반까지 대부분의 웹 애플리케이션 개발은 JSP에 대부분의 로직을 포함하고 있었다. 이는 자바 진영뿐만 아니라 PHP, ASP 또한 비슷한 형태로 구현했다. 점점 더 많은 애플리케이션이 웹으로 개발되고, 요구사항의 복잡도는 점점 더 증가했다. 또한 웹 애플리케이션의 수명이 길어지면서 유지보수 업무가 증가했다. JSP에 상당 부분의 로직을 포함하는 것이 초기 개발 속도는 빨랐지만 유지보수 비용은 증가했다. 이 같은 단점을 보완해 유지보수 비용을 줄이기 위해 MVC(Model, View, Controller) 패턴 기반으로 웹 애플리케이션을 개발하는 방향으로 발전했다. JSP에 집중되었던 로직을 모델(Model), 뷰(View), 컨트롤러(Controller) (컨트롤러는 Controller 인터페이스를 구현하는 컨트롤러 전체를 의미한다) 3개의 역할로 분리해 개발하자는 것이었다. 2000년대 초중반부터 웹에 도입되기 시작한 MVC 패턴은 지금은 웹 애플리케이션 개발의 모든 영역에서 적용하고 있는 패턴이 되었다.

MVC 패턴을 적용해 개발했을 때의 요청과 응답 흐름은 다음과 같다.

 

 

이 장 초반에 회원가입을 한 후 사용자 목록을 출력하는 기능을 구현했다. 사용자 목록을 구현한 코드가 MVC 패턴 기반으로 구현한 코드이다. 사용자 목록 기능을 구현할 때 관여한 소스코드를 위 그림과 같이 표현하면 다음과 같다.

 

 

웹 애플리케이션 개발에 MVC 패턴을 적용할 경우 기존과 다른 점은 클라이언트 요청이 처음 진입하는 부분이 컨트롤러라는 것이다. MVC 패턴 적용 전에는 뷰에 해당하는 JSP가 클라이언트 요청이 처음으로 진입하는 부분이었다. 그런데 MVC 패턴을 적용하면 대부분의 로직은 컨트롤러와 모델이 담당하고, 뷰에 해당하는 JSP는 컨트롤러에서 전달한 데이터를 출력하는 로직만을 포함하고 있다. 모든 로직 구현을 완료하고 단순히 데이터를 출력하는 로직은 예상보다 단순하기 때문에 JSP의 복잡도는 상당히 낮아진다.

이 절에서는 MVC 패턴을 지원하는 프레임워크를 구현해 봄으로써 MVC 프레임워크에 대한 이해도를 높이도록 한다.

프레임워크는 개발자 간의 역량 차이가 있더라도 MVC 패턴을 적용해 일관성 있는 코드를 구현하도록 강제하는 역할을 한다. 프레임워크와 라이브러리 모두 애플리케이션 개발에서 발생하는 중복 코드를 제거해 재사용성을 높임으로써 개발 속도를 빠르게 하기 위함이다. 하지만 이 둘의 가장 큰 차이점은 프레임워크는 특정 패턴 기반으로 개발하도록 강제하는 역할을 하고 라이브러리는 강제하는 부분이 없다는 것이다. MVC 프레임워크를 구현해 보면 서블릿에서 발생하던 중복 코드도 일정 부분 제거하는 역할도 해준다.

이번 장에서는 MVC 프레임워크 구현의 1단계를 진행한다. 8장의 AJAX를 다루면서 MVC 프레임워크에 대한 추가 요구사항을 제시하고 2단계 구현을 진행하도록 한다.



참고도서 : https://roadbook.co.kr/169

 

[신간안내] 자바 웹 프로그래밍 Next Step

● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,000원 ● 발행일: 2016년 9월 19일 ● ISBN: 978-89-97924-24-0 93000 [강컴] [교보] [반디] [알라딘] [예스24] [인터파크] [샘

roadbook.co.kr

댓글