Spring BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping有什么区别?
经过一些网站后,我明白了 BeanNameUrlHandlerMapping是DispatcherServlet的默认HandlerMapping。
同样在BeanNameUrlHandlerMapping中,您可以使用Controller直接映射url。
但同样可以使用SimpleUrlHandlerMapping完成。
我知道的东西,但不是那么清楚,它必须做些什么
名字接受/但是id不能.....但我很困惑。
确切的差异是什么? SimpleUrlHandlerMapping的需求是什么?
请解释...谢谢。
答案 0 :(得分:3)
如果我们想要将多个url映射到单个控制器类,我们必须注册多个url,这不是使用Spring IoC的好方法。
SimpleUrlHandlerMapping是使用map或property bean定义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"/>
重要的:
示例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>
重要的: