스프링프레임워크3.X MVC,HandlerMapping, Spring Framework강좌[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]
스프링프레임워크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>
<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"/>
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>
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
댓글 없음:
댓글 쓰기