[BACK-END]

웹 MVC

지기음 2023. 3. 22. 22:48

Web Application Architecture 

  • Model 1과 Model2로 나뉨 
  • JSP가 클라이언트의 요청에 대한 로직 처리와 reponse page에 대한 처리를 모두 하느냐 아님 reponse page만 처리하는지가 가장 큰 차이점 

용어 정리 

DAO = Database Acess Object

MVC = Model View Controller 

DTO = Data Transform Object

 

Model 1 

  • 뷰와 로직을 JSP 페이지 하나에서 처리하는 구조 
  • 클라이언트로부터 요청이 들어오게 되면 JSP 페이지는  beans나 별도의 service class 를 통하여 작업을 처리, 결과를 client에 출력한다. 

장점 :

  1. 구조가 단순하며 직관적이기 때문에 배우기가 쉽다. 
  2. 개발 시간이 비교적 짧기 때문에 개발 비용이 감소한다. 

단점 : 

  1. 출력을 위한 view 코드와 로직 처리를 위한 java 코드가 섞여 있기 때문에JSP 코드 자체가 복잡해진다.
  2. 분업이 힘들다. 
  3. 유지보수가 어렵다
  4. 확장성이 나쁘다 (frameoword의 도입 등 ) 

Model 2 

  • 모든 처리를 JSP 페이지에서 하는 것이 아니라 client 요청에 대한 처리는 servlet, logic 처리는 java client에게, 출력하는 response page를 JSP가 담당한다.

장점 : 

  1. 코드가 복잡하지 않음 
  2. 화면단과 logic단이 분리되었기에 분업이 용이
  3. 기능에 따라 code가 분리되었기 떄문 유지보수가 쉬움 
  4. 확장성이 뛰어남 

단점 : 

  1. 구조가 복잡하여 초기 진입이 어렵다.
  2. 개발시간의 증가로 개발의 비용이 증가한다. 
  3.  

추후 servlet과 JSP는 SPRING으로 대체 

client는 REACT나 VIEW.JS 와 같은 프레임워크로 대체된다. 

'[BACK-END]' 카테고리의 다른 글

JSP (Java Server Page)  (0) 2023.03.22