날아라쩡글이의 블로그입니다.
model1과 model2(MVC패턴)의 다른점 본문
728x90
반응형
세미프로젝트의 방식에서 사용한 개발방식은 model1의 개발방식이다.
- 특징
- 요청 하나당 JSP가 하나씩 필요하다.
- 디자인 요소(HTML태그) 와 로직요소(자바코드)가 하나의 JSP파일에 같이 존재한다.
- 단점
- 로직요소의 재사용성이 떨어진다.
- 디자인요소나 로직요소 중 하나만 바꾸려고 해도 JSP파일 내용을 전부를 수정해야한다.
- 유지보수가 어렵다
- 장점
- 애플리케이션의 구조가 단순하다.
- 빠르게 개발에 진입이 가능하다.
- 구조가 쉽다
- 그러나 장점보다는 단점을 극복하고 싶다.
그렇게 등장한 방식은 model2방식으로 (MVC패턴이라고 불린다. )
- MVC패턴을 활용한 웹 어플리케이션 개발 방식이다.
- 역사
- 최초의 객체지향언어는 smalltalk이라고 한다.
- 1970년에 완성되었고, 그때는 web에 대한 존재가 없었다.
- 최초의 GUI를 개발했으며, 이전에는 commend Line Interface의 방식으로 개발하였다.
- 애플사의 리사에 활요이 되었으며, 최초로 GUI운영체제를 도입하였다.
- 역사
- 그럼 MVC패턴이 뭐지?
- 색상 : 클릭한다. 행위 : 색이 칠해진다.
- 보이는 것을 클릭하면 실행동작이 연결된다.
- 디자인요소와 클릭시 버튼에 대한 로직이 있어야하고 그것을 연결지어 놓아야한다.
- 보이는 요소와 로직요소를 따로 구현하는 것을 의미한다.
- JSP와 java를 다르게 바꾼 것이다.
- HOW???
- 위의 그림을 보면 프론트컨트롤러, 컨트롤러, 자바클래스 , JSP가 존재하는 것을 알 수 있다.
- 프론트컨트롤러의 역활
- 요청 접수 (ex, 로그인과 로그아웃 : 어떤 요청인지 알아낸다.) ->Spring에서 제공된다.
- 적절한 컨트롤러를 실행한다.
- 적절한 JSP로 이동된다.
- 컨트롤러
- java코드의 로직요소가 들어간다.
- 실질적인 요청을 처리한다.
- 여러개가 존재한다.
- 클라이언트의 요청을 처리한다. JSP에서 하는 일을 옮겨 놓은 것이다.
- 만들어낼 DB를 JSP에게 특별한 방법으로 데이터를 전송한다.
- 자바클래스
- vo, dao,dto,service로 컨트롤러에서 요청처리를 위해서 사용된다.
- JSP
- 디자인요소를 구성한다.
- 데이터의 표현을 담당한다.
- 프론트컨트롤러의 요청을 받는다. 그리고 응답으로 보여지는 부분이다.
- JSP에서 디자인은 html로 자바의 경우 <% %>사용하여 이용되었고,
for문과 if문을 코드로 사용했었다. 이제는 사용하지 않을 예정이다.
- EL
- 자바의 코드를 사용하지 않게 해준다.
- JSTL
- 자바의 코드없이 if문과 for문의 사용이 가능해진다.
- 이 언어를 사용하여, 자바코드를 사용하지 않고, 데이터 뿌리는 것이 가능해진다.
- EL
- model1은 요청처리시 JSP파일을 만들었어야했다.
- model2는 요청처리시 컨트롤러와 JSP를 만들어야한다.
- 개발의 양은 많아지지만, 프론트컨트롤러는 MVC패턴에서는 전부 프레임워크가 제공된다.
반응형
'중앙 HTA (2106기) story > JSP story(Apache)' 카테고리의 다른 글
현재 semi프로젝트를 진행하는 부분 model1방식 (0) | 2021.12.07 |
---|---|
상품 추가할 경우 (0) | 2021.12.03 |
list.jsp에서는 (0) | 2021.12.02 |
검색할 때 - 페이지네이션과 검색 (0) | 2021.12.02 |
파일 업로드하기 (0) | 2021.12.01 |
Comments