JSP : Model1 / Model2 / MVC

JSP 설계 모델 : <Model1> <Model2>

<Model1> : view와 로직을 모두 jsp 페이지에서 처리

  • 구조가 단순하여 초보자도 구현하기 쉬움
  • 출력을 위한 view코드와 로직을 위한 자바 코드가 섞여 복잡함 > 유지, 보수 어려움
  • jsp코드에서 프론트/백 엔드 분업이 쉽지 않음

 

<Model2> : jsp 페이지, 서블릿, 로직 처리를 위한 클래스가 함께 브라우저 요청을 처리

  • Controller: 전체적인 흐름 제어
  • View: 클라이언트에 출력되는 화면, request 또는 session 객체에 저장된 정보를 토대로 출력
  • Model: 로직을 처리하는 모든 것들을 포함. 특정 로직에 대한 처리 요청이 들어오면 (ex. 로그인) 이를 수행하고 수행 결과를 controller에 반환

 

요청 > controller : 요청 분석 > Model : 해당 로직에 필요한 모델 사용 > controller : 결과값 받음 > view : 데이터를 불러 출력

 

 

<Spring MVC pattern> - M : model V : view C : controller (소프트웨어 디자인 패턴) 

- MVC > 하나의 프로젝트 또는 어플리케이션이 있을 때, 역할에 따라 나눈 구성요소

- <Model2>가 이 패턴 방식을 따름 (서브릿 > 컨트롤러 / jsp > view / bean > model)

 

  • Controller : 데이터 입력처리와 흐름 제어하며 view와 model 호출
  • Model : 백그라운드에서 동작하는 데이터 처리 로직 구현
  • View : 실행 결과 브라우저에 출력

출처 : 위키백과