JSP를 이용해 웹사이트를 만들때
모델1 기법과 모델2 기법의 차이에 대해 명확하게 설명하기 어려운 분들이 있을겁니다.
그래서 오늘은 짧고 굵게 모델1기법과 모델2기법의 차이에 대해 설명해 보도록 하겠습니다.
웹 사이트란 이용자와 제공자의 소통수단이라고 할 수 있는데요.
제공자가(Server) 특정 정보를 웹서버에 올려놓으면,
이용자는(Client) 브라우저라는 매개체를 이용하여 웹 서버에 접속, 제공자가 올려놓은 정보를 읽습니다.
여기서 단순히 제공되는 정보를 읽는 것에 그치지않고
회원가입, 로그인, 글쓰기 등을 하기 위해서 사용자는
웹서버(제공자측)에 정보를 넘기고 정보의 처리를 요구하며, 그 결과까지 보기를 원합니다.
여기서 사용자가 웹서버에 정보를 넘기고, 다시 웹서버에서 처리한 정보를 반환 받는
이 과정을 구현하기위해 필요한것이 서버 프로그래밍(Server Programming) 입니다.
이 서버 프로그래밍의 중류 중 하나인 JSP의 경우
Java코드와 html코드가 공존하는 JSP라는 형태의 파일을 이용하여 사용자에게 정보를 제공합니다.
이 JSP파일 안에는 사용자에게 직접 보여지는 부분인 html부분과 사용자의 요청을 받아들이고 처리하는 Java코드 부분이
같이 들어있으며, 이 JSP파일은 사용자가 보낸 요청을 받고, 처리하며 필요한 경우
DAO,beans등 DB관련 클래스(Model)의 도움을 받아서 받은 요청에 대한 결과를 사용자에게 반환하게 됩니다.
한마디로
JSP파일 = Java코드로 사용자의 복잡한 요청을 처리하고, html코드로 사용자에게 결과를 반환하며,
DB관련 작업이 필요한경우 관련 클래스의 도움을 받는다.
라고 설명할수 있겠네요.
여기서 Java코드를(Control), html코드를(View), DB관련 클래스를(Model)
이라고 부릅니다. 앞의 대문자를 따서 CVM -> MVC패턴 이라고 부르지요.
JSP에서 모델1 방식은
JSP파일이 C와 V, 두가지를 동시에 담당하는 방식입니다.
모델2 방식은
JSP파일은 V만 담당하고, C의 기능은 따로 Servlet이란 파일을 만들어 담당하게 하는 것입니다.
모델2 방식이 더 발전된 JSP기법이며, 대부분의 웹개발자들은 Model2방식을 사용하고 있습니다.
그러면 왜 Model2 기법이 개발되었고, 더 좋은 이유는 무엇일까요?
모델1 방식의 경우는 JSP파일 안에 Java코드와 HTML코드가 혼합되어 있습니다.
그래서 웹디자이너가 홈페이지의 구조를 바꾸거나, 이미지를 추가할 때
Java코드의 존재로 인해 유지보수시 디자인 부분의 가독성이 떨어지고
디자인 코드 수정시 Java코드를 잘못 건드려 에러를 발생시킬 위험이 있습니다.
마찬가지로 백엔드개발자 또한 수백, 수천 줄의 html코드 사이사이에 숨은 자바코드를 수정하는 것 보다는
자바코드만 다른파일안에 모은다음 한꺼번에 보며 수정하는게 더 편하겠지요.
한마디로 JSP에서 모델2기법을 이용하는 이유는
'가독성', '코드의 깔끔함'과 '유지보수의 편리성' 때문이라고 할 수 있습니다.
'개발' 카테고리의 다른 글
Git 설치와 시작하기 (repository와 로컬저장소 연결) (0) | 2019.08.05 |
---|---|
이클립스 Server Tomcat v8.5 Server at localhost failed to start 오류 발생시 (화병사망 막는법) (3) | 2019.06.10 |
JSP&Servler . 26.포워딩(forwarding) - Dispatcher와 redirect (0) | 2019.06.09 |
개발 도중 실수로 이클립스 메뉴를 꺼버렸을 때 (0) | 2019.06.06 |
생산성을 높이는 윈도우10 단축키 모음 (0) | 2019.02.04 |