개발일기/JSP 프로그래밍 (Java 웹프로그래밍)

JSP 개발방식 모델1 과 모델2 방식 비교 + MVC 패턴

민장미 2023. 6. 9. 19:04

 

*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는 추후에 포스팅 예정