区别

2012-09-19 39 views
3

是什么春天BeanNameUrlHandlerMapping,并SimpleUrlHandlerMapping建立的区别?区别

经过一些网站后,我明白 BeanNameUrlHandlerMapping是DispatcherServlet的默认HandlerMapping。

同样在BeanNameUrlHandlerMapping中,您可以直接使用Controller映射URL。

但是SimpleUrlHandlerMapping也可以做同样的事情。

我知道的东西,但没有那么多清楚,它必须做一些事情

名接受/但ID不能.....但我很困惑。

什么是确切的差异? SimpleUrlHandlerMapping的需求是什么?

请解释...谢谢。

回答

3

我们,如果我们要映射多个URL映射到一个控制器类注册多个网址,这是不是与Spring IoC来工作的好办法。

SimpleUrlHandlerMapping建立是一种简单的方法使用地图或属性豆定义URL映射。这简化了Spring MVC中的URL映射。

例BeanUrlHandlerMapping

<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"/> 

重要:

  • 需要定义一个bean为每个URL
  • Spring容器具有通过URL的bean。

    • 使用一个bean为使用同一控制器网址:虽然所有的URL由同一个bean

    例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> 
    

    重要服务。

  • 没有必要为每个网址定义一个bean
+0

感谢您的解释,现在很清楚。还是一个小疑问,我已经记的,我能以这种形式编写,在其中同时声明ID的名称,并在所有其他地方只是简单地给像REF =为myBean参考。这有什么问题? – Jayesh