[Spring]에서 Dispatcher-Servlet은
[Servlet]에서 FrontController와 유사한 개념이다.
https://doublesprogramming.tistory.com/84
프로젝트의 Context Root의 경로 : / (즉, root)
클라이언트가 root 페이지(/) 요청
web.xml에서 Dispatcher-Servlet이 클라이언트의 요청을 핸들링
이 Dispatcher-Servlet이 servlet-context.xml에서 HandlerMapping을 통해 Controller를 검색한다.(@Controller로 스프링 빈즈에 매핑한게 있는지..?)
<context:component-scan base-package="org.zerock.myapp.controller" />
base-pakage를 scan해서 Controller를 검색검색한 Controller(SampleController.java
)에서 @RequestMapping 어노테이션으로 URL 매핑이된 Controller/메소드(basic()
)처리
Dispatcher-Servlet은 컨트롤러에서 보내온(basic()
메소드의 return 문자열) View 이름(basic1
)을 토대로 처리할 View를 검색한다.
처리할 View(basic1
)는 Dispatcher-Servlet이 servlet-context.xml에서 Bean으로 등록된
[ InternalResourceViewResolver ] 를 통해 해당 메소드(basic()
)에서 return 해주는 문자열(basic1
)을, 접두사 접미사 사이에 대입해주어 매핑해준다.
접두사 : prefix /WEB-INF/views
접미사 : suffix .jsp
즉, /WEB-INF/views/ + "basic1" + .jsp
/WEB-INF/views/basic1.jsp
)가 포함된 View(basic ?? basic1.jsp ??
)를 Dispatcher-Servlet에 송신http://ijinseong-ui-macbookpro.local:8090/sample/basic
) 접속하면, 최종결과인 /WEB-INF/views/basic1.jsp
경로의 basic1.jsp
의 내용이 출력된다.