스프링MVC : Front Controller 패턴에 Spring의 의존성 주입을 이용해서 컴포넌트들의 생명 주기르 ㄹ관리할 수 있는 컨트롤러 중심의 웹 MVC 프레임워크
MVC 패턴은 도메인 도멜이 중요한 역할을 차지
웹 개발은 모델 상태를 변경하기 위해 반드시 HTTP 요청을 서버측에 전송해야함
스프링MVC : DispatcherServlet, View REsolver, Interceptor, Handler, View등으로 구성
DispatcherServlet- 가장 핵심적인 역할을 함
요청을 받으면 처리가능한 Handler 이름을 HanddlerMapping에게 질의 함
제어권을 Handler로 전달
논리적인 View Name을 ViewResolver에 전달해서 응답에 필요한 View를 생성할 수 있도록하여 해당 View에
Model과 컨트롤러를 전달해서 응답을 생성한다.
스프링 MVC 프레임워크에서 DispatcherServlet을 web.xml에 등록하고 요청받은 루트 URL을 매핑하는 것만으로도 역할을 할 수 있다.
HandlerMapping - 요청 URL을 보고 Handler를 판단하고 또한 Handler 실행 전에 전처리 후처리로 실행할 인터셉터 목록을 결정
Handler - 응답에 필요한 서비스를 호출하고 응답에서 렌더링해야 하는 View Name을 판단해서 Dispatcher Servlet에 전송
스프링코어, 스프링MVC : 스프링 MVC를 사용하기 위해 필요한 의존성
스프링 웹 모듈도 스프링 코어 모듈에 의존성을 가지고 있다.
스프링 MVC를 하기 위한 설정
- org.springframework:spring-core:4.1.6
- org.springframework:spring-web:4.1.6
DispatcherServlet 등록 방법 - Web.xml에 서블릿 태그를 추가하는 방법
서블릿 3.0 이상이면 javaConfig 방식으로 등록하는 방법
Web.xml - web-app 루트 태그를 가지고 있고, 루트 태그 하위에 리스너, 서블릿 같은 컴포넌트들의 정보 표기 가능
서블릿 태그에는 DispatcherServlet클래스의 전체 경로를 등록하고, 서블릿 매핑 태그 하위의 서블릿 네임 태그값은 servlet 태그 하위의
servlet-name태크값과 동일하게 dispatch로 한다.
url-pattern 태그는 모든 요청에 대해 응답받을 수 있도록 루트 태그를 정의한다.
dispatcher-servlet.xml
- 인터셉터, 컨트롤러와 같은 웹 패키지에 해당하는 크랠스들의 설정을 지정할 수 있는 파일
- 컨트롤러 클래스를 만들어서 동작시키기 위해서는 컨트롤러 클래스들을 위치시킬 패키지 지정과 URL과 페이지 매핑이 필요함
'프로그래밍 이야기 > SPRING 공부' 카테고리의 다른 글
STS 톰캣에러 The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports. (0) | 2023.08.29 |
---|---|
이클립스에 STS 설치하기 (0) | 2023.08.28 |
스프링 MVC 정의와 구성요소 웹요청 처리과정 (0) | 2023.08.21 |
스프링의 개요와 특징 (0) | 2023.08.14 |
스프링의의존성구조 (0) | 2023.08.13 |