springmvc(二)非注解处理器映射器,非注解处理器适配器

非注解的处理器映射器

前面我们使用的非注解的映射器是BeanNameUrlHandlerMapping,还有一种就是SimpleUrlHandlerMapping,可以配置多个映射,比如多个url对应同一个handler。第一个映射器根据handler的bean的name属性查找handler,后一个映射器可以根据Handler bean的id属性配置映射关系。

在springmvc的配置文件中,可以配置多个处理器映射器,比如上面两个映射器可以同时在配置文件中存在,前端控制器判断url能能映射到哪个Handler上

 

结果展示: 

 

非注解的处理器适配器 

前面我们用到的处理器适配器是SimpleControllerAdapter,根据源码的support()方法知道这个适配器只能处理实现了Controller接口的Handler,还有一种适配器就是HttpRequestHandlerAdapter,也是根据support()方法知道这个适配器只能处理实现了HttpRequestHandler接口的Handler,那么我们就在编写一个相关规则的Handler,如下,可以看到这个接口中的方法不是返回modelandview对象,但是我们可以用request对象来设置模型数据和实现转发

为了实验我们在springmvc的配置文件配置这个handler,那么当然也要在配置文件中配置处理这种handler的适配器,以及能映射到这个handler的url,至于使用哪个适配器都可以,根据id还是name

结果: 

 使用这个适配器的好处是可以根据需要,通过修改response,设置响应的数据格式

使用非注解的处理器适配器,映射器,视图解析器,也可以不在配置文件中配置,在web.xml中我们配置了前端控制器,它有自己默认会调用的这些组件类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值