본문 바로가기

Spring

스프링 - 웹 프로그래밍 구축 하기 위한 설계 모델

- 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