- Model 1 -

브라우저 -> (리퀘스트 요청) -> 리퀘스트 요청 정보에 따른 WAS(웹 어플리케이션 서버) 진행 -> <- 데이터베이스
- 장점
- 모듈화 시키지 않고 하나의 파일 내에서 처리 가능 개발 속도 작업이 빠르다.
- 단점
- 유지 보수 어려움
- Model2 -

- Model1 방식의 불필요한 프로세스를 개선 한 형태
- Model2 방식을 MVC(Model, View, Controller) 패턴 이라고 하며 Spring 웹 애플리케이션 개발시 동일한 구조로 진행된다.
- 기능(Service), 데이터베이스 로직(DAO), 서비스 컨트롤러(Controller), 화면(View)
- 스프링 MVC 설계 구조 -

- 브라우저(클라이언트) 요청시 DispatcherServlet으로 요청한다
- 전달받은 요청을 Handler Mapping 으로 요청을 전달하며 프로세스를 처리 할 적합한 컨트롤러를 선택하게 된다.
- DispatcherServlet -> HandlerAdapter 에서 Controller에 프로세스를 처리하기 가장 적합한 메소드를 찾아온다.
- HandlerAdapter에서 처리한 메소드를 통하여 ViewResolver에 요청하여 적합한 화면단을 찾는다.
- 적합한 화면 선택 후 화면 응답 생성을 하게된다.
- DispatcherServlet 설정 방법 -
- 인텔리제이 기준
- web/WEB-INF/web.xml 파일 생성
- web.xml 파일 내 <servlet>, <servlet-mapping> 태그를 이용 하여 서블릿 생성

초기화 파라미터에서 스프링 설정 파일을 지정 해주지 않았을 경우 서블릿 별칭을 이용하여 스프링 컨테이너가 자동 생성된다.

- Contorller 객체 @Controller-
- @Controller 어노테이션 사용 전 applicationContext.xml 설정

- Controller 객체로 사용할 클래스 생성

- Controller 객체 @RequestMapping -

- DispatcherServlet에서 클라이언트 요청에 서비스를 처리할 컨트롤러를 선택 후 사용자의 요청에 따라 @RequestMapping 어노테이션에 따라 메소드 요청을 처리하게 된다.

- Controller 객체 - Model 타입의 파라미터 -
- Model 객체에 데이터를 담아 DispatcherServlet에 요청을 전달 할수있다.
- 전달된 Model 데이터는 View에서 가공 되어 클라이언트에 응답 처리 된다.
- View 객체 -
- View 찾는 방법 -> InternalResourceViewResolver 객체에서 view 응답에 대해 생성 하게 된다.(spring 설정 파일)
- @RequestMapping 메소드의 return 값을 통합 하여 view를 찾게 된다.
- prefix + return + suffix 값


- 전체적인 구조 -

'Spring' 카테고리의 다른 글
SpringMVC (0) | 2021.11.14 |
---|---|
스프링AOP (0) | 2021.11.14 |
어노테이션을 이용한 의존성 주입 세팅방법 (0) | 2021.11.07 |
의존객체 선택 방법 (0) | 2021.11.01 |
의존 객체 자동 주입 (0) | 2021.11.01 |