유블로그

[JSP] MVC 패턴 (Model-View-Controller) 본문

Web : BackEnd

[JSP] MVC 패턴 (Model-View-Controller)

yujeong kang 2020. 10. 7. 10:30

Web Application Architecture

- model 1

- model 2

 

 

- model 1

  • view와 logic을 JSP 페이지 하나에서 처리하는 구조.
  • client로부터 요청이 들어오게 되면 JSP 페이지는 java beans나 별도의 service class를 이용하여 작업을 처리하고 결과를 client에 출력한다.

장점

  • 구조가 단순하고 직관적이다. 개발시간이 비교적 짧다.

단점

  • 출력을 위한 view 코드와 로직 처리를 위한 java 코드가 섞여서 복잡해진다.
  • 유지보수가 힘들다.
  • 확장성(신기술도입, framework...)이 나쁘다.

 

- model 2

  • model2는 모든 처리를 JSP 페이지에서 하는 것이 아니라, client 요청에 대한 처리는 servlet이, logic 처리는 java class(Service, Dao, ...), client에게 출력하는 response page 를 JSP가 담당한다.
  • model2 구조는 MVC pattern 을 웹개발에 도입한 구조이다.
model2 MVC Pattern 설명
Service, Dao, or Java Beans Model Logic(Business & DB Logic)을 처리하는 모든 것.
controller 로 부터 넘어온 data를 이용하여 이를 수행하고 그에 대한 결과를 다시 controller 에 return 한다.
JSP View 모든 화면 처리를 담당한다. Client 의 요청에 대한 결과 뿐 아니라 controller에 요청을 보내는 화면단도 jsp 에서 처리한다. Logic 처리를 위한 java code는 사라지고 결과 출력을 위한 code만 존재한다.
Servlet Controller Client의 요청을 분석하여 logic 처리를 위한 Model 단을 출력한다. return 받은 결과 data를 필요에 따라 request, response 등에 저장하고 redirect 또는 forward 방식으로 jsp(view) page를 이용하여 출력한다.

 

 

장점

  • 출력을 위한 view 코드와 로직 처리를 위한 java 코드가 분리되어 복잡하지 않다.
  • 분업이 용이
  • 유지 보수가 쉽다
  • 확장성 뛰어남

단점

  • 구조가 복잡
  • 개발 시간 증가

 

 

'Web : BackEnd' 카테고리의 다른 글

JSP (Java Server Page)  (0) 2020.10.11
[Java] Servlet  (0) 2020.10.11
JSTL (JSP Standard Tag Library)  (0) 2020.10.11
EL ( Expression Language )  (0) 2020.10.11
Cookie & HttpSession  (0) 2020.10.11