RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
Handler Mapping在Spring的MVC中
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:38
  • 来源:未知

说到Mapping问题。。我就想到了Controller Front模式(请见:http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html)

所以说呢,Mapping问题主要就是要解决要调用哪一个Action的问题。。

主要有两个Mapping Handler方式:

1. BeanNameUrlHandlerMapping

这个其实也就是默认方式,只要你不要**-servlet.xml中定义其mapping方式的话,Spring会自动选择其方式

它是根据其所定义的Action的ID进行调用:

比如:

<beans>  <bean id=”mapping” class=”org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping”/>  <!-- 定义几个Action bean -->  <bean id=”/addUser.html” class=”org.springframework.web.mvc.SimpleFormController”>    <property .................../>设置其SimpleFormControl的一些属性 </bean><bean id=”/logout.html” class=”saoo.MyController”/></beans>

所以,它所对应要增加一个新的User的URL就是/addUser.html而一但用户想登出系统的话,就可以通过URL:/logout.html来实现

 

2. SimpleUrlHandlerMapping

它是通过原先配置好的一对一对放入到其一个Map mappings的属性里面比如:<beans>  <bean id=”mapping” class=”org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping”/>  <!-- 定义几个Action bean -->  <bean id=”/addUser.html” class=”org.springframework.web.mvc.SimpleFormController”>    <property .................../>设置其SimpleFormControl的一些属性 </bean><bean id=”/logout.html” class=”saoo.MyController”/></beans>可以改成:<beans>  <bean id=”mapping” class=”org.springframework.web.servlet.handler.SimpleUrlHandlerMapping”>    <props><!--因为其属性是Map-->      <prop key="/addUser.html">AddUserController</prop><!--因对应的是Action Bean的id-->      <prop key="/logout.html">Logout</prop><!--对应Logout的Action-->    </props>  </bean>  <!-- 定义几个Action bean -->  <bean id=”AddUserController” class=”org.springframework.web.mvc.SimpleFormController”>    <property .................../>设置其SimpleFormControl的一些属性 </bean><bean id=”Logout” class=”saoo.MyController”/></beans>

过时候再与一些关于Action的东东。。呵呵