프로그래머의 삶 Programmer's Life/SpringFramework

HandlerMapping 과 viewResolver

Oliver's World 2008. 11. 1. 15:50
728x90

mEngine 프로젝트(스터디식으로 6명이 함께 했었던 플젝이름)에서는


 <bean id="urlMapping"
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
   <props>
    <prop key="/admin/sales/sales.do">salesController</prop>
    <prop key="/admin/setup/setup.do">SetupController</prop>
    <prop key="/jsp/userJoin.do">UserController</prop>
    <prop key="/jsp/userDetail.do">UserController</prop>
    <prop key="/jsp/userUpdate.do">UserController</prop>
    <prop key="/jsp/userList.do">UserController</prop>
    <prop key="/jsp/userDelete.do">UserController</prop>
    <prop key="/jsp/JoinNewUser.do">UserController</prop>
   </props>
  </property>
 </bean>


 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass">
   <value>org.springframework.web.servlet.view.JstlView</value>
  </property>
  <property name="cache" value="true" />
  <property name="prefix" value="/WEB-INF/jsp/" />
  <property name="suffix" value=".jsp" />
 </bean>


방식을 사용하였다.

핸들러매핑과 뷰리졸버는 한곳으로 다 뭉쳐놓아야 하였다.


주요 HandlerMapping 구현 클래스

1. SimpleUrlHandlerMapping - 패턴과 컨트롤러 이름을 비교하여 , URL이 패턴에 매칭될 경우 지정한 컨트롤러를 사용한다.

2. BeanNameUrlHandlerMapping - Url과 일치하는 이름을 갖는 빈을 컨트롤러로 사용

3. ControllerClassNameHandlerMapping - URL과 매칭되는 클래스이름을 갖는 빈을 컨트롤러로 사용

4. DefaultAnnotationHandlerMapping - @RequestMapping 어노테이션을 이용하여 요청을 처리할 컨트롤러를 사용한다.


* Ant 경로 패턴

 - Ant 는 자바 기반의 빌드 도구로서

? : 1개의 문자와 매칭

* : 0개 이상의 문자와 매칭

** : 0개 이상의 디렉터리와 매칭


Ant 경로 패턴을 이용하여 다양한 요청 URL 표현이 가능하다

728x90