AR삽질러

JSP - Model2 본문

JAVA/JSP

JSP - Model2

아랑팡팡 2023. 3. 13. 16:50
728x90

JSP에서 사용되는 아키텍처모텔 model1 model2

 

1. Model1

 - 간단하고 작은 웹 어플리케이션에서 아용하기 적합하지만 대규모 웹애플리케이션의 경우 유지보수 및 확장성이 어려울 수 있다. 디자인코드(HTML)과 자바코드(비즈니스 로직)을 구분하지 않고 하나의 jsp파일 내에서 함께 기술하여 웹프로그램을 제작하는 방식

장점 : 개발하기 쉽고, 배우기 쉽다?

단점 : 디자인코드와 비즈니스로직의 구분이 명확하지 않기때문에 복잡도가 높다.

          수정사항이 발생했을 때마다 디자이너와 개발자의 협업이 필요하고 재사용성이 떨어지고 유지보수가 어렵다.

 

2. Model2

- 비즈니스로직과 프레젠테이션 로직을 분리하여 개발하는 방식으로 웹 어플리케이션을 개발할 때 MVC (Model-View-Controller)로 각각의 역할을 나누어서 개발하는 방식이다.

- Model은 비지니스로직을 담당하는 부분으로 Model비즈니스로직을 UI로 부터 분리시킨다.

- View 는 Client가 직접 사용하는 부분으로 Model에서 생성된 Data를 client에게 보여주는 역할을 담담한다.

- Controller는 사용자의 요청을 받아서 요청에 해당하는 비즈니스로직을 수행하도록 하고 응답을 client에게 보내는 역할을 한다. 서블릿

장점 : 대규모 웹애플리케이션에 사용하기 좋으며, 확장성과 유지보수성이 높다.

단점 : 초기 설계에 많은 시간이 소요되고, 개발자가 MVC패턴에 대한 개념이 필수적으로 요구된다.

 

3. Model2개발 방식

- Controller의 역할

 1) 사용자의 요청을 받는다.

 2) 사용자의 요청을 분석한다.

 3) 사용자의 요청을 처리할 자바 빈을 생성하고 비즈니스 로직이 구현된 메소드를 실행한다.

 4) 비즈니스 로직 수행 후 사용자의 요청을 JSP페이지나 특정 URL로 이동시킨다.

 

- Model의 역할

 1) 비즈니스 로직이 구현되어 있다.

 2) Database에 데이터를 추가, 조회, 변경 하는 작업을 수행한다.

 3) View에 제공할 Data를 가공한다.

 

- View의 역할

 1) 클라이언트에게 최종적으로 보여지는 영역

 2) 웹에서는 JSP와JSTL을 이용하여 구현한다.

 

1. 비즈니스 로직을 처리하는 Servlet클래스를 작성한다.

2. Servlet클래스에서 데이터를 처리하고 결과를 JSP페이지에 전달한다.

3. JSP페이지에서는 전달받은 데이터를 사용하여 웹 페이지를 동적으로 생성한다.

4. JSP페이지에서는 자바코드를 사용할 수 있고 이것을 JSP스크립트릿이라고한다.

5. JSP페이지는 HTML, CSS, JavaScript등과 함께 클라이언트에게 전송되어 웹 페이지를 구성한다.

 

4. 요청 파라미터를 명령어로 전달하는 방법

 1) ControlServlet

 - controller의 역할을 수행하는 서블릿

 2) ActionFactory

 - 사용자의 요청을 처리할 비즈니스 로직이 구현된 XXXAction객체의 생성을 담당한다.

 3) Action

 - 모든 XXXAction클래스가 implements할 인터페이스, 비즈니스 로직을 재정의할 메소드를 선언하고 있다.

 4) XXXAction

 - Action 인터페이스의 메소드를 재정의하고 있는 클래스, 실질적인 비즈니스 로직의 구현체이다.

 5) ActionForward

 - XXXAction의 비즈니스 로직 수행 후 ControlServlet에게 반환하는 객체

 

 

728x90
반응형
LIST