참조 : Spring MVC 어플리케이션 개발 <2> Spring MVC 구동을 위한 web.xml 작성

Spring MVC 공부중에서 찬욱이와 열띤 토론이 있었던 dispatcher를 설정하는 부분인 것 같습니다.

앞에서 만든 웹 프로젝트를 보면 이클립스에서 만들어준 web폴더 -> WEB-INF 안에 보면 web.xml이 있습니다. 그 파일을 보시면 다음과 같습니다.
[#M_ more.. | less.. | <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>webAddressBook</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>_M#]
<display -name>은 어디에 표시가 되는건지 모르겠지만 웹 사이트에 대한 간략한 설명이 들어가면 좋을 것 같습니다.
<webcole-file-list>는 대문으로 쓰일 수 있는 파일 이름들이 쭉~ 나열되어 있는데 현재 대문역할을 하는 파일은 index.html밖에 없으니 나머진 지워도 될 것 같습니다.
따라서 다음과 같이 수정합니다.
[#M_ more.. | less.. | <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Agile Java Netowrk's Web AddressBook</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>
_M#]
그리고 이제 Dispatcher를 추가합니다. Dispatcher는 Spring에서 front controller역할을 하는 것으로 특정 URL의 요청을 처리할 Contoller를 찾아 주는 Handler Mapping을 등록해둡니다.

<!-- Spring Front Controller 등록 -->
    <servlet>
        <servlet-name>addressBook</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>addressBook</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
.do로 끝나는 요청들을 addressBook-servlet.xml로 보내도록 설정했습니다.

bk62.xml
설정 내용 중에 보시면 org.springframework.web.servlet.DispatcherServlet을 사용하고 있습니다. 따라서 spring.jar파일을 web/WEB-INF/lib에 넣어줍니다. 그러면 자동으로 Web App Libraries로 lib폴더에 들어간 spring.jar파일을 인식하게 됩니다.
bk60.bmp