min's devlog
[JSP] Model2 구조와 MVC 패턴 본문
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