min's devlog

[JSP] Model2 구조와 MVC 패턴 본문

til/Server

[JSP] Model2 구조와 MVC 패턴

값진 2022. 6. 23. 22:56

JSP 웹 어플리케이션의 구조는 크게 모델 1 구조와 모델 2 구조로 나뉘며,  JSP에서 모든 로직과 출력을 처리하느냐 출력만 처리하느냐에 따라서 모델 1과 모델 2 구조로 나뉜다.

 

JSP Model1

JSP Model1은 웹 브라우저의 요청을 JSP가 직접 처리한다. 웹 브라우저의 요청을 받은 JSP는 자바빈이나 서비스 클래스를 사용해 웹 브라우저가 요청한 작업을 처리하고 그 결과를 클라이언트에 출력한다.

앞서 구구단 웹페이지를 보면 하나의 페이지에서 서비스 클래스를 통해서 원하는 작업을 수행하고 그 결과를 출력했는데, 이것이 모델 1 구조의 예시로 들 수 있다.

 

 

JSP Model2

모델 2 구조는 모델 1 구조와 달리 웹 브라우저의 요청을 하나의 서블릿이 받는다. 서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 그 결과를 보여줄 JSP 페이지로 포워딩한다. 포워딩을 통해 요청 흐름을 받은 JSP 페이지는 결과 화면을 클라이언트에 전송한다.

모델 2 구조의 특징은 웹 브라우저의 모든 요청을 단일 진입점, 즉 하나의 서블릿에서 처리한다는 점이다. 서블릿은 웹 브라우저의 요청을 처리한 후 웹 브라우저에 보이게 될 응답 화면을 생성할 JSP를 선택한다. 모델 2 구조의 이러한 특징 때문에, MVC패턴을 이용해서 웹 어플리케이션을 구현할 때 모델 2 구조를 사용한다.

 

 

MVC 패턴

  - MVC 패턴(Model-View-Controller)은 크게 모델, 뷰, 컨트롤러의 세 부분으로 구성된다.

 

출처: 생활코딩

 

  • Model : 데이터가 가진 객체. 내부 비즈니스 로직을 처리하기 위한 역할
  • View : 클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너
  • Controller : 모델에 명령을 보내 모델의 상태를 변경함 (컨트롤러가 관련된 뷰에 명령을 보내 모델의 표시 방법을 바꿈)

 

'til > Server' 카테고리의 다른 글

[JSP] 주소록에 데이터 추가  (0) 2022.06.24
[JSP] MVC의 모델, 뷰, 컨트롤러  (0) 2022.06.23
[JSP] JSP 내장 객체  (0) 2022.06.23
[Servlet] 서블릿 처리 동작 순서  (0) 2022.06.21
[servlet] 구구단 웹페이지 (web.xml)  (0) 2022.06.21
Comments