본문 바로가기
Java/Spring Framework

DISPATCHERSERVLET 이란? / DISPATCHERSERVLET의 개념 / URL 패턴 사용방법

by 놀러와요 2019. 9. 9.
반응형

스프링의 웹 기술은 MVC 아키텍처를 근간으로 한다

 

1. MVC 구조란 ?

MVC란 비즈니스 로직 처리를 하는 모델 M, 화면 출력 뷰 V, 제어 로직 담당인 컨트롤러 C 로 클라이언트의 요청을 처리하는 응답구조를 뜻한다.

MVC 아키텍처는 보통 프론트 컨트롤러(front Controller) 패턴과 함께 사용한다.

 

2. 프론트 컨트롤러(FrontController) 역할

이 프론트 컨트롤러는 주로 제일 앞에서 서버로 들어오는 모든 요청을 받아서 처리한다.

또한, 공통처리 작업을 먼저 수행 한 후, 적절한 세부 컨트롤러로 작업을 위임해주고

예외가 발생할 때는 일괄된 방식으로 에러를 처리해준다.

스프링에서 제공하는 서블릿/MVC의 핵심은 DispatcherServlet이라는 프론트 컨트롤러가 있다.

이 DispatcherServlet은 MVC 아키텍처로 구성된 프리젠테이션 계층을 만들 수 있도록 설계되어 있다.

3. Http 요청 접수

서블릿 컨테이너는 HTTP Protocol을 통해 들어오는 요청이 Dispatcher에 할당된 것이라면

HTTP 요청정보를 DispatcherServlet에게 전달한다.

web.xml에 DispatcherServlet이 전달받을 url 패턴이 정의되어 있는데 그것이 이 소스이다.

<servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

 

위 소스는 appServlet 로 등록된 DispatcherServlet에게 /로 시작하는 모든 요청을 할당하라는 의미가 된다.

DispatcherServlet이 담당할 Http 요청 url 패턴을 지정해 줘야 한다. Url에는 *나 ** 와 같은 와이드카드를 사용하는 패턴을 넣을 수 있다.

 

 *.do 와 같이 .do로 끝나는 요청 처리 ex) /test.do , /example.do

 /app*처럼 /app으로 시작하는 URL 처리 ex) /appTest, /appSample, /app

 

**는 하나 이상의 경로를 지정해 줄 때 사용하기 때문에

/app/**/sub 는 /app으로시작하고 /sub로 끝나는 URL을 처리 ex) /app/exam/sub, /app/a/b/c/sub

 

 

출처 : http://mkil.tistory.com/303?category=541781

반응형