Client가 index 페이지에 해당하는 url(http://아이피:포트/프로젝트명/aa/index)을 호출하면
1. DispatherServlet
먼저 DispatcherServlet과 HandlerMapping을 거쳐 해당 url과 Mapping이 되는 bean(IndexController)을 호출한다.
2. Controller
컨트롤러가 호출되면 ModelAndView 객체를 생성해 DispatcherServlet으로 보낼 Model과 View이름을 담는다.
Model - 페이지에 띄울 데이터
View - 페이지 주소
설정을 완료하고 출력시키면,
Client에 의해 /aa/index 라는 url이 호출되면
DispatcherServlet과 HandlerMapper를 통해 Controller가 호출되고
Controller에서 ModelAndView객체에 Model( 데이터 )과 View( forward되는 url 주소 )가 담겨
DispatcherServlet으로 리턴되고
리턴된 객체를 ViewResolver를 거친 후 View에 출력된다.
4. ViewResolver
Controller에서 ModelAndView객체에 담는 url의 길이를 줄이기 위해
페이지 호출에 필요한 url의 반복되는 부분을 빼둬 따로 관리할 수 있다.
# BeanNameViewResolver
Bean의 이름으로 지정된 view을 찾아라
order 세터로 순서 지정하는데 BeanNameViewResolver는 null값이 오면 다음순서로 넘겨버리지만
InternalResourceViewResolver는 null값이 올 경우에도 bean을 생성해버린다.
dispatcher-servlet.xml
<mvc:resources location="/resource/" mapping="/resource/**" />
<!-- 이렇게하면 resource에 들어가는 모든 img css js 파일에대한 경로를 달아줄 때
resource/~~~ 로 시작해야한다.
-->
<mvc:resources location="/static/" mapping="/**" />
<!-- 파일을 불러올 때, static 폴더명을 붙여줄 필요가 없다.
즉, static폴더가 ROOT가 된다.
-->
<!--스프링 파라메터로 한글을 넘길 때 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
한글을 주고받기 위해 web.xml에 추가한다
서버 > 모듈
페이지 공통 부분 수정하기
Tiles 라이브러리 이용
'Dev > Spring' 카테고리의 다른 글
스프링 MVC with @Annotation (0) | 2021.01.14 |
---|---|
스프링 MVC + Maven + Tomcat 프로젝트 생성 (0) | 2021.01.12 |
AOP 기능 사용하기 예제 (1) | 2020.12.28 |
[ 스프링 연습 ] txt파일로 Export (0) | 2020.12.27 |
STS3 정리 (0) | 2020.12.22 |