2012-09-19 4 views
3

Spring BeanNameUrlHandlerMapping과 SimpleUrlHandlerMapping의 차이점은 무엇입니까?BeanNameUrlHandlerMapping의 차이점 SimpleUrlHandlerMapping의 차이점

일부 사이트를 살펴본 결과 BeanNameUrlHandlerMapping은 DispatcherServlet의 기본 HandlerMapping입니다.

BeanNameUrlHandlerMapping에서도 url을 Controller와 직접 매핑 할 수 있습니다.

SimpleUrlHandlerMapping에서도 동일한 작업을 수행 할 수 있습니다. 이

이름은 받아들이으로 뭔가를 가지고

나는, 그 정도 명확하지하지만 뭔가를 알고 /하지만 ID는 할 수 없습니다 .....하지만 난 혼란 스러워요.

정확한 차이는 무엇입니까? SimpleUrlHandlerMapping의 필요성은 무엇입니까?

설명 해주십시오 ... 감사합니다.

답변

3

하나 이상의 URL을 하나의 컨트롤러 클래스로 매핑하기를 원한다면 하나 이상의 URL을 등록해야합니다. 이는 Spring IoC를 사용하는 좋은 방법이 아닙니다.

SimpleUrlHandlerMapping은지도 또는 속성 빈을 사용하여 URL 매핑을 정의하는 간단한 방법입니다. 이렇게하면 Spring MVC에서 url 매핑이 단순해진다.

<bean name="/hello.htm" class="com.raistudies.ui.comtroller.HelloController"/> 

<bean name="/sayHello*" class="com.raistudies.ui.comtroller.HelloController"/> 

<bean id="urlHandler" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 

중요

예 BeanUrlHandlerMapping는 :

  • Spring 컨테이너는 URL에 의해 빈을 가지고 각 URL에 대한 빈을 정의 할 필요가있다.

    • 같은 컨트롤러를 사용하는 URL에 대해 하나의 콩을 사용하여 모든 URL은

    예 SimpleUrlHandlerMapping

    <bean id="helloController" class="com.raistudies.ui.controller.HelloController"/> 
    
        <bean id="urlHandler" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
         <property name="urlMap"> 
          <map> 
           <entry key="/hello.htm" value-ref="helloController"/> 
           <entry key="/sayHello*" value-ref="helloController"/> 
           <entry key="/welcome.html" value-ref="helloController"/> 
           <entry key="/welcomeUser*" value-ref="helloController"/> 
          </map> 
         </property> 
        </bean> 
    

    중요 같은 콩으로 제공하고 있지만.

  • 각 URL마다 빈을 정의 할 필요가 없습니다.
+0

설명해 주셔서 감사합니다. 아직도 내가 염두에 두어야 할 작은 의심 중 하나는 이다. id와 이름을 모두 선언하고 다른 모든 곳에서 ref = myBean과 같은 참조 만하면됩니다. 이게 뭐가 잘못 되었 니? – Jayesh