JSP 개발방식 모델1 과 모델2 방식 비교 + MVC 패턴
*MVC 패턴 (스프링 프레임워크)*
Model : 비즈니스 로직과 데이터를 처리
View : 사용자 인터페이스 (웹 브라우저에 보이는 페이지)
Controller : 요청과 응답을 처리하며, model과 view 사이의 상호작용을 컨트롤한다. 모델 업데이트 및 변경 사항을
뷰에 반영하고 조작한다.
========================================================
전에 포스팅 했었던 모델1 방식: 게시판 만들기를 예를 들어서 설명하자면,
JSP 프로그래밍: 모델1 방식의 웹 개발하기(게시판 만들기) - 1 FBoard (tistory.com)
JSP 프로그래밍: 모델1 방식의 웹 개발하기(게시판 만들기) - 1 FBoard
*Model 1 방식: JSP 프로그래밍에서 Model과 View를 따로 분리하지 않고 같이 섞어서 개발하는 방식이다. => UI(디자인)와 비즈니스 로직을 함께 처리하는 방식이라 코드의 재사용성이 떨어진다 => 유지
jangmicoding.tistory.com
*Model : 비즈니스 로직과 데이터를 처리
=> insert.jsp / delete.jsp / update.jsp /pwdcheck.jsp 등 jsp파일이지만 html사용은 거의 안하고, 자바코드를 사용하여
데이터를 처리.
*View : 사용자 인터페이스
=> write.jsp / pwdChekFoam.jsp / info.jsp 등 웹 브라우저에 보여지는 페이지. 자바코드가 좀 들어갔지만
주로 html 코드를 사용
*Controller : 요청과 응답을 처리하며, model과 view를 컨트롤한다.
=> 모델1, 2 둘 다 컨트롤러가 없다. 서블릿이 컨트롤러 역할을 한다.
=> 모델2가 스프링 프레임워크에 오면 컨트롤러가 추가되어 MVC 패턴이 된다고 생각하면 된다.
그래서 모델1방식으로 개발하면 web-inf 폴더 안에 뷰 파일들을 넣으면 안된다.
그 폴더 안은 보안영역으로 컨트롤러를 통해서만 접속이 가능하기 때문이다.
=====================================================================
여태 webapp이라는 폴더 안에 뷰와 모델 파일들을 모두 섞어서 넣었고, 뷰 jsp 의 일부는 바로 웹 브라우저에 실행이
가능했다. 모델2 방식에서는 web-inf 폴더 안에 따로 views라는 폴더를 만들어서 뷰와 모델 단을 분리해서 코딩을 한다.
그리고 컨트롤러를 생성한 뒤, 컨트롤러를 통해 url와 파일을 매핑시킨다.
모델2 방식 : 모델1과의 차이점이 바로 => 뷰와 모델을 분리!
모델1 | 모델2 |
-JSP페이지에 UI와 비즈니스 로직이 같이 포함되어 있다. | -M(모델), V(뷰)를 분리하여 개발하는 방식 |
-위의 이유때문에 디자이너와 개발자의 협업이 중요 | -초기 개발비용이 많이 든다. |
-유지보수가 어려움 | -코드가 유연하여 확장성이 높고 유지보수 하기가 수월하다. |
-작은 규모 프로젝트에선 쓸만함 | -큰 프로젝트에서 사용 |
*meta -inf 폴더 : java 관련 설정관련
*web xml > context.xml => web.xml 은 전체적 설정, context.xml은 개별적 설정하는 곳 정도로 알아두면 나중에 이해하기 수월함 context.xml 에서 설정 가능한 부분은 web.xml에서도 가능하다. web.xml과 다르게(얘는 서블릿에 의해 보호된다) context.xml은 웹 애플리케이션 외부에서 접근이 가능하다.
* web.xml에서 context.xml에 대한 경로를 설정
-모델1 방식 예제
web java: 모델1 방식의 웹 개발하기(게시판 만들기) - 1 (tistory.com)
web java: 모델1 방식의 웹 개발하기(게시판 만들기) - 1
*Model 1 방식: jsp(Java Server Page)내 에서 Java 코드를 내장해서 개발하는 방식이다. - jsp파일에 html과 java코드를 함께 작성 => java코드는 서버 측에서 처리되고, html 부분은 클라이언트(브라우저)에 전
jangmicoding.tistory.com
web java: 모델1 방식의 웹 개발하기(게시판 만들기) - 2 (tistory.com)
web java: 모델1 방식의 웹 개발하기(게시판 만들기) - 2
모델 1 방식은 이제는 거의 안 쓰고 매우 번거로운 과정이지만 개념이해를 위해서 반드시 코딩을 해봐야 한다. 이번 포스팅은 매우 번거롭지만 => 마이바티스를 사용하면 훨씬 간편하게 코딩이
jangmicoding.tistory.com
-모델1방식 + 마이바티스 예제
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 1 (tistory.com)
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 1
셋팅: 이클립스 EE, 톰캣 ,마이바티스 ,오라클 , SQL gate => 마이바티스를 추가하여 ! 모델1 방식의 웹 갤러리 만들어보기 * 디자인에 소질이 없는 고로... 제 포스팅에서 디자인은 버리고 백엔드 코
jangmicoding.tistory.com
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 2 (tistory.com)
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 2
셋팅: 이클립스 EE, 톰캣 ,마이바티스 ,오라클 , SQL gate => 마이바티스를 추가하여 ! 모델1 방식의 웹 갤러리 만들어보기 * 디자인에 소질이 없는 고로... 제 포스팅에서 디자인은 버리고 백엔드 코
jangmicoding.tistory.com
모델2는 추후에 포스팅 예정