MVC1
jsp로 구현한 기존 웹 어플리케이션 모델 1 구조로 웹 브라우저의 요청을 jsp 페이지가 받아서 처리하는 구조
JSP 페이지에 비지니스 로직을 처리 하기 위한 코드와 웹 브라우저에 결과를 보여주기 위한 출력 관리 코드가 뒤섞여 있는 구조
JSP 페이지 안에서 모든 정보를 표현(view)하고 저장(model)하고 처리(control)되므로 재사용이 힘들고, 읽기도 힘들어 가독성이 떨어짐
👉 정리
정의 : 모든 클라이언트 요청과 응답을 JSP가 담당하는 구조
장점 : 단순한 페이지 작성으로 쉽개 구현 가능. 중소형 프로젝트에 적합
단점 : 웹 애플리케이션이 복잡해지면 유지보수 문제가 발생
MVC2
MVC1 구조와 달리 웹 브라우저의 요청을 하나의 서블릿이 받게 됨
서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 그 결과를 JSP 페이지로 포워딩
👉 정리
정의 : 클라이언트의 요청처리와 응답처리, 비지니스 로직 처리하는 부분을 모듈화시킨 구조
장점 : 처리작업의 분리로 인해 유지보수와 확장이 용이
단점 : 구조 설계를 위한 시간이 많이 소요되므로 개발 기간이 증가
스프링 MVC 프레임워크
스프링이 제공하는 트랜잭션 처리, DI, AOP를 손쉽게 사용
스트럿츠2와 같은 프레임워크와 연동이 쉬움
스프링 MVC 개발
클라이언트에 요청을 받을 DispatcherServlet을 web.xml 파일에 설정
클라이언트의 요청을 처리할 컨트롤러 작성
ViewResolver 설정(컨트롤러가 전달한 값을 이용해서 응답 화면을 생성할 뷰를 결정)
JSP나 Velocity 등을 이용하여 뷰영역의 코드를 작성
'프로그래밍 > Spring' 카테고리의 다른 글
스프링 프레임워크 모듈과 컨테이너(IoC) (0) | 2021.01.25 |
---|---|
11.24(스프링 MVC 처리 흐름) (0) | 2020.11.24 |
11.19(MyBatis 연동) (0) | 2020.11.19 |
11.18(DispatcherServlet과 web.xml 설정) (0) | 2020.11.18 |
11.17(MVC 뷰 구현) (0) | 2020.11.17 |