2013년 11월 11일 월요일

Spring Framework3.2 MVC, Handler Mapping, 핸들러매핑, 스프링 MVC, 스프링프레임워크3.X MVC,


Spring Framework3.2 MVC, Handler Mapping, 핸들러매핑, 스프링 MVC,
스프링프레임워크3.X MVC,HandlerMapping, Spring Framework강좌
 
 하나의 요청을 특정한 Controller와 연결하고자 할 때 DispatcherServlet은 이를 핸들러 매핑 빈에 의뢰 한다.

 핸들러 매핑 빈은 특정 Controller Bean을 URL 패턴에 매핑 시킨다.

 스프링의 모든 핸들러 매핑은 org.springframework.web.servlet.HandlerMapping을 구현한다.

BeanNameUrlHandlerMapping : 컨트롤러의 빈 이름에 기초해 컨트롤러와 URL과 매핑한다. DispatcherServlet에서 사용하는 기본 핸들러 매핑
 
SimpleUrlHandlerMapping : 컨텍스트 설정 파일에 정의 되어있는 일련의 특성들을 사용해 컨트롤러를 URL과 매핑한다
 
CommonsPathMapHandlerMapping : 컨트롤러의 코드에 있는 소스 수준의 메타데이터를 사용하여 컨트롤러를 URL과 매핑한다.
 
1. BeanNameUrlHandlerMapping

[web.xml]
 
<servlet>
<servlet-name>onj</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
     /WEB-INF/spring-config/beannameurlmap.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

[beannameurlmap.xml ]
 
  <bean name="beanNameUrlMapping"
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
 
 
2. SimpleUrlHandlerMapping
 
URL패턴을 직접적으로 컨트롤러에 매핑한다.

    <bean name=" simpleUrlMapping "
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping”>
        <property mapping=“mapping”>
             <props>
                  <prop key=“onj.do”>onjController</prop>
                  <prop key=“oraclejava.do”>oraclejavaController</prop>
             </props>
        </property>
    </bean>
 

다른방법
 
    <bean name="simpleUrlMapping"
       class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       <property name="mappings">
         <bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
             <property name="locations">
              <list>
                 <value>/WEB-INF/spring-config/urlmap.properties</value>
                 <value>/WEB-INF/spring-config/urlmap2.properties</value>
              </list>
             </property>
         </bean>
       </property>
    </bean>

[urlmap.properties]

onj.do=onjCotroller

[urlmap2.properties]

oraclejava.do=oraclejavaController2

댓글 없음:

댓글 쓰기