스프링 MVC 프레임워크 기반의 웹 프로그래밍 구조에 대해서 학습
13-1 웹 프로그래밍 구축하기 위한 설계모델
- 모델1 방식 (절차형 방식)
- 모델2 방식 (MVC 방식)
모델1 방식 (기존방식 : 절차형 방식)
기본적인 설계 모델 | 흐름 |
1. 클라이언트(브라우저)가 서버(WAS)에게 Request를 한다. 2.WAS에서 데이터베이스에게 Request를한다.(Service & DAO) 3. WAS는 UI작업을 해서 클라이언트에게 Response를 http로 준다. |
|
단점 | WAS쪽에 때려박다보니 유지보수 측면에서 너무 빡세다. |
모델2 방식(MVC 방식) Spring도 그렇고 거의 대부분 이거다.
기본적인 설계 모델 | 흐름 |
위와 차이점 1. WAS들어 올때 Controller, Service, DAO를 거친다. 2. Service 모듈화 (기능) 3. DAO->모델->데이터베이스 4. Controller에게 줄때 JSP(view)를 거쳐서 Response해준다. |
|
장점 | 유지보수 측면에서 좋다. |
13-2 스프링 MVC프레임워크 설계구조
가장 중요한 부분이며 암기!!!
설계구조 | 흐름도 |
1, DispatcherServlet 이라는 객체가 요청을 클라이언트(브라우저)로 부터 받는다. 2. HandlerMapping에게 던진다. (HandlerMapping이란 녀석은 여러 수많은 컨트롤러에서 가장 적합한 컨트롤러를 매핑해준다) 3. HandlerAdapter 각 컨트롤러의 가장 적합한 메서드를 찾아내고 model를 받아온다. 중략... (Service->DB) 4. ViewResolver (뷰)한테 Model 보낸다. 가장 적합한 JSP를 선택한다. 5. View 응답생성(JSP)
|
13-3 DispacherServlet 설정
DispatcherServlet 설정 | 설명 |
*web.xml이 생소하다면 JSP, Servlet등의 레퍼런스를 검색해본다. 1. web 어플리케이션의 가장 첫 관문이자. 사거리의 신호등과도 같다. 2. servlet에 DispatcherServlet을 설정해준다. 3. org.springframework.web.servelt.dispacherServlet설정 4. init-param에 스프링 설정파일도 설정해준다. (web.xml이라는 기존 설정에 Dispatcher를 삽입하는 과정) |
|
좌측 그림은 초기화 파라미터에서 스프링 설정 파일을 했냐 안했냐의 따라서 어떻게 컨테이너가 설정되는가에 대한 그림이다. 1. 스프링 설정파일(초기화 파리미터) 경우(일반적인 방법) - 초기화 파라미터에서 지정한 파일(servlet-context.xml)을 이용하여 스프링 컨테이너를 생성 2. 초기화 하지 않은 경우 - appServlet-context.xml을 이용한 스프링 컨테이너를 자동으로 생성 |
13-4 Controller 객체 - @Controller
흐름 | 설명 |
1. Controlle는 개발자가 만드는 것 | |
위는 선언 아래는 컨테이너 정의 하는 것 |
13-5 Controller 객체 - @RequestMapping
흐름 | 설명 |
1. Controller에서 적당한 메서드를 HandlerAdapter가 찾는과정 2. Controller에 메서드에 RequestMapping("/method")를 붙여준다. (요청 : localhost8090/ch08/success) |
13-6 Controller 객체 - Model 타입의 파라미터
흐름 | 설명 |
1. 모델과 뷰를 컨트롤러가 보내준다. |
|
1. 개발자는 Model 객체 데이터를 담아서 DispatcherServlet에 전달 가능하다. 2. DispacherServlet에 전달된 Model 데이터는 View에서 가공되어 클라에게 응답처리한다. |
13-7 View 객체
흐름 | 설명 |
|
|
- InternalResourceViewResolver가 view파일을 보낸다. JSP파일명 설정(bean) return : "success" 1. prefix /WEB-INF/views 2. suffix .jsp 3. JSP파일명 : /WEB-INF/views/success.jsp |
13-8 전체적인 웹프로그래밍 구조
전체적인 흐름 |
|
4,5번 과정에서 Service, DAO, DB를 거치고 View, Model을 가져온다. |
'Spring > [인프런] Spring FrameWork' 카테고리의 다른 글
Service & Dao 객체 구현 (0) | 2021.12.30 |
---|---|
스프링 MVC 웹서비스 (0) | 2021.12.29 |
어노테이션을 이용한 스프링 설정 -1 (0) | 2021.12.27 |
생명주기(Life Cycle) (0) | 2021.12.24 |
의존객체 선택 (0) | 2021.12.24 |