1. MVC 패턴 모델2 란?
1) 웹개발에서 쓰이는 방식 중 하나로 M(Model) V(View) C(Controller)로 나눠서 개발하는 것으로 이들의 앞자를 따서 mvc라 부름
2) 기존에는 모델1 방식으로 개발을 하였으나 화면 부분을 보여주는 뷰에서 개발하는 일이 잦아 개발자와 디자이너간의 혼선이 생기는 단점이 있어 패턴 모델2를 사용
2. MVC 역할
1) Model : 사용자의 요청에 맞는 정보를 DB와의 연결을 통해 결과물을 산출하고 Controller에게 전달
2) View : 처리된 결과물을 화면에 보여줌
3) Controller : 사용자 요청에 대한 흐름제어
3. 모델2 구조
1) 웹브라우저가 Controller(Servlet)에게 request(사용자요청)을 함
2) Controller는 요청을 판단 후 Model에 요청을 전달
3) Model은 해당 요청을 DB와의 연동 작업을 통한 결과를 도출하여 다시 서블릿 페이지에 전달함
4) 전달된 결과를 뷰페이지에 전달하고 뷰는 결과를 웹브라우져에 출력
3. Servelt이란?
- 쓰레드 기반의 웹개발 기술로 웹브라우져의 요청을 받아서 처리함
생명주기 메소드 | 역할 |
init() | 서블릿 로딩,초기화 |
service() | 요청에 따라 서버로 정보를 전달하기 위해 doGet,doPost로 분기 사용자 요청은 request, 응답은 response로 처리 |
destroy() | 컨테이너가 종료될 때 실행되며 종료시 실행해야할 작업을 명시 |
- doGet 방식: url에 가져올 데이터를 표기(예-localhost:8080/test?id=admin&password=123)
- url노출로 보안문제 발생 가능성 있음
- doPost 방식 : url에 가져올 데이터를 표기하지 않음(예-localhost:8080/test)
- url이 노출되지 않아 보안에 유리
4. MVC 패턴 장점
1) 개발로직과 디자인 부분의 분리로 개발자와 디자이너간의 업무 충돌이 감소
2) 각각 수행하는 역할이 구분되어 있어 기능이 복잡하더라도 가독성과 생산성이 뛰어남
이렇게 mcv 패턴 모델2 구조와 장점에 대해서 알아보았는데요. 사실 모델2가 좋다고 하나 간결한 프로젝트에서는 모델1 구조가 더 적합할 수 있습니다. 다만 각각의 모델과 컨트롤로 뷰가 분리되어 있다는 점이 장점으로 작용하고 관리하기가 용이하여 모델2 구조를 더 많이 쓰고 있습니다.
ㅇㅇ
잘보구가요!
관리자
넹 조심히가세요~