gpt4 book ai didi

java - BeanNameUrlHandlerMapping SimpleUrlHandlerMapping 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:51 25 4
gpt4 key购买 nike

Spring BeanNameUrlHandlerMapping 和 SimpleUrlHandlerMapping 有什么区别?

浏览一些网站后我明白了BeanNameUrlHandlerMapping 是 DispatcherServlet 的默认 HandlerMapping。

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

但是同样的事情也可以用 SimpleUrlHandlerMapping 来完成。

我知道一些事情但不是很清楚,它与

name 接受/但 id 不能.....但我很困惑。

具体区别是什么? SimpleUrlHandlerMapping 需要什么?

请解释...谢谢。

最佳答案

如果我们想要将多个 url 映射到单个 Controller 类,我们必须注册多个 url,这不是使用 Spring IoC 的好方法。

SimpleUrlHandlerMapping 是一种使用映射或属性 bean 定义 url 映射的简单方法。这简化了 Spring MVC 中的 url 映射。

示例 BeanNameUrlHandlerMapping

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

重要:

  • 有必要为每个url定义一个bean
  • Spring 容器通过 url 有一个 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>

重要:

  • 对使用同一 Controller 的 URL 使用单个 bean。
  • 没有必要为每个url定义一个bean

关于java - BeanNameUrlHandlerMapping SimpleUrlHandlerMapping 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12498840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com