springmvc—handlermapping三种映射

handlermapping负责映射中央处理器转发给controller的映射策略,简单说就是控制中央处理器的请求触发哪一个

三种映射方式

1.BeanNameUrlHandlerMapping(默认)

按照controllername来映射寻找controlller,它是默认存在的。


[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <!-- 配置controller -->  
  2. <bean id="testController"  name="/hello.do" class="com.roy.controller.TestController"/>  
  3. <!-- 按照controller的name来映射寻找controlller,默认存在的 -->  
  4. <beanclassbeanclass="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>  

2.SimplerUrlHandlerMapping

使用简单url映射,与默认的映射可以各自独立存在,但是默认的不存在的时候,配置的controller不能使用。

可以使用此映射来分类配置controller和配置url的各自职责

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1.               <!-- 配置controller -->  
  2. <bean id="testController"  class="com.roy.controller.TestController"/>  
  3.   
  4. <!-- 按照url来映射 -->  
  5. <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
  6.     <property name="mappings">  
  7.         <props>  
  8.             <prop key="/hello.do">testController</prop>  
  9.         </props>  
  10.     </property>  
  11. </bean>  


3.contraollerClassNameHandlerMapping

控制类的类名控制器,访问时类名首字母需要小写,需要加入.do,直接使用controller的首字母小写类名访问

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>  


controller中的代码

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package com.roy.controller;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5.   
  6. import org.springframework.web.servlet.ModelAndView;  
  7. import org.springframework.web.servlet.mvc.AbstractController;  
  8.   
  9. public class TestController extends AbstractController {  
  10.   
  11.     @Override  
  12.     protected ModelAndView handleRequestInternal(HttpServletRequest arg0,  
  13.             HttpServletResponse arg1) throws Exception {  
  14.         System.out.println("hello controller");  
  15.         return new ModelAndView("index");  
  16.     }  
  17.   
  18. }  

    三种hanlermapping的配置。第一种是直接默认存在的,可以不需要在配置文件中配置;第二种可以使用此映射来分类配置controller和配置url
的各自职责;第三种直接使用controller的首字母小写类名访问。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值