-> Model - View - Controller
- 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴
- 데이터는
Model
, 화면은View
, 처리는Controller
: 알고리즘, DB와의 상호작용, 데이터 처리
: 사용자에게 보여줄 UI
: 사용자 요청화면 처리, 화면의 로직부분 처리
프로젝트를 JSP(Controller + View)
와 Java Bean(Model)
로 구성하여 개발하는 형태
모든 client의 응답(response)을 JSP가 담당
JSP 페이지 내에 로직 처리를 위한 자바 코드가 출력을 위한 코드와 함께 섞여 삽입됨
장점 : 빠른 시간내에 구현이 가능. 중소형 프로젝트에 적헙
단점 : 웹 프로그래밍의 규모가 커지면 유지보수가 어려움
1. 클라이언트가 웹 브라우저를 통해 hello.jsp 파일 요청
2. 웹 서버가 요청을 받고 hello.jsp에 대한 요청을 servlet(JSP) Container로 전달
3. 해당하는 JSP파일 실행
4. Java Bean을 통해 DB에 접근하여 데이터를 가져옴
5. JSP와 Java Bean을 사용하여 클라이언트에게 응답하기 위한 html문서 구성
6. 요청에 대한 응답을 다시 웹 서버에 전달
7. 요청이 들어왔던 곳으로 응답
장점 : 처리 작업 분리로 인해 유지보수와 확장이 용이
단점 : 구조설계를 하기 위한 시간이 많이 소요되므로 개발기간이 증가
1. 클라이언트가 웹 브라우저를 통해 hello.jsp 파일 요청
2. 웹 서버가 요청을 받고 hello.jsp에 대한 요청을 Web Container로 전달
2-1. Servlet(Controller)이 응답
3. Java Bean을 통해 DB에 접근하여 데이터를 가져옴
4. 데이터를 이용하여 View와 연결
-> 주로 Controller가 View와 Model1을 합치는 기능을 수행
5. 생성한 웹 페이지를 웹 서버로 전송
6. 웹 서버가 전송받은 웹 페이지를 클라이언트에게 전송
https://jooncco.com/design%20pattern/mvc/
https://juyoungit.tistory.com/119
https://hsp1116.tistory.com/9