스프링 MVC를 제대로 사용하려면, 아래의 내용을 알아야 쉽게 스프링 프레임워크를 이용할 수 있다.
가장 먼저 할 작업으로는, 웹 프로젝트를 생성하는 것이다. 생성 과정은 다음과 같다.
pom.xml 파일에는 다음의 설정 정보를 담는다.
1. 의존 모듈
다음은 web.xml 파일에 DispatcherServlet 설정을 추가하는 것이다.
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
<servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mvc-quick-exercise.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
DispatcherServlet은 내부적으로 스프링 컨테이너를 생성하는데, contextConfigLocation 초기화 파라미터를 이용해서 컨테이너를 생성할 때 사용할 설정 파일(mvc-quick-exercise.xml)을 지정한다.
dispatcher 서블릿에 대한 매핑을 *.do 로 지정하게되면, 웹 브라우저의 웹 요청 중 do로 끝나는 모든 요청을 dispatcher 서블릿이 처리할수 있게 된다.
최근에는 확장자를 사용하기 보다는 의미에 맞는 URL을 사용하는 곳이 증가하고 있는 추세이다.
스프링 4.0에서는 <mvc:annotaion-driven>태그를 사용하면 RequestMappingHandlerMapping, RequestMappingHandlerAdapter
을 자동으로 빈 등록을 해주기 때문에 따로 설정하지 않아도 된다.
이 두 클래스는 @Contoroller 어노테이션이 적용된 클래스를 컨트롤러로 사용할 수 있도록 해준다.
서블릿 매핑 설정에 따른 매핑 경로
RequestMappinghandlerMapping의 alwaysUseFullPath속성의 값을 "true"를 설정하면 된다.
하지만, <mvc:annotation-driven>을 사용하는 것이 설정을 쉽게 할 수 있기 때문에 많이 사용한다.
.css와 같은 요청은 매핑된 컨트롤러가 존재하지 않을 때는 404 응답 코드를 웹 브라우저에 전송하는데, 이때 404 응답 코드 대신 컨테이너의 디폴트 서블릿을 이용해서 요청을 처리하도록 만들어 주는것이 <mvc:default-servlet-handler/>태그 이다.