- web.xml 스프링 MVC의 DispatcherServlet 클래스를 서블릿으로 정의

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>spring_Web</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>
 
  <!-- spring DispatcherServlet -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
 
</web-app>

※ 확장자 'html' 에 대한 요청은 모두 DispatcherServlet 클래스로 맵핑하여 처리한다라고 설정하는 것이다.



- dispatcher-servler.xml 스프링 MVC 설정파일

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
   
    <!-- HandlerMapping 생략 ( 요청URL 과 Controller 맵핑 ) -->
   
    <!-- Controller -->
    <bean id="indexController" name="/index.html" class="controller.IndexController"
        p:shopService-ref="shopService">
    </bean>
   
    <!-- ViewResolver 생락 ( Controller 에서 반환받은 뷰이름과 출력할 뷰페이지 맵핑 ) -->
   
    <!-- dataSource -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <!-- JDBC 드라이버 클래스 이름 설정 -->
            <property name="driverClassName">
                <value>oracle.jdbc.OracleDriver</value>
            </property>   
            <property name="url">
                <value>jdbc:oracle:thin:@localhost:1521:orcl</value>
            </property>
            <property name="username">
                <value>scott</value>
            </property>
            <property name="password">
                <value>scott</value>
            </property>
    </bean>
   
    <!-- Shop -->
    <bean id="shopService" class="logic.ShopImpl" p:itemCatalog-ref="itemCatalog">
    </bean>

    <!-- ItemCatalog -->
    <bean id="itemCatalog" class="logic.ItemCatalogImpl"
        p:itemDao-ref="itemDao">
    </bean>

    <!-- ItemDao -->
    <bean id="itemDao" class="dao.ItemDaoImpl" p:dataSource-ref="dataSource">
    </bean>
   
</beans>
※ DispatcherServlet 클래스 의 이름은 web.xml 에 설정한 <servlet-name> 의 명칭과 동일한 이름으로 정의하여야 한다.

    (<servlet-name> 의 동일한 이름-servlet.xml 로하고, 그 파일은 WEB-INF 폴더에 있으면 자동으로 컨테이너가 적재한다)

    예 : /WEB-INF/dispatcher-servlet.xml

+ Recent posts