Spring MVC的实现机制

 

 

DispatcherServlet:前端控制器,也是整个架构的核心,负责处理和分发请求。

HandlerMapping:处理器映射,他主要包含的是控制器的列表,对于特定的请求,根据HandlerMapping的映射关系,可以找到特定的控制器。最简单的便是url到控制器的映射。
HandlerAdapter:对于不同类型的控制器,该类负责把Handler请求处理的结果统一转换成ModelAndView。
ModelAndView:包含数据和视图的信息,一般包含视图名,和这个视图需要用的数据,这里的Model大家不要误会为模型的概念,它只不过同时包含视图信息及这个视图需要显示的相关信息而已。
ViewResolver:它View名称解析成View对象。
View:定义response显示的详细内容。

 

 

1. getHandler 其实就是取 Controller的实现类,(对应的是STRUTS中的*Action);

这里的handlerMappings 就是我们在SPRING 配置文件中配置的 handlerMapping实现类的集合;

这个方法中采用循环的方式去解析客户的URL请求;

 

2.getHandlerAdapter 方法类似的;handlerAdapters是配置在spring 配置文件中的handlerAdapter实现类的集合;也是一样的采用循环的方式去判断 handlerAdapter的实现类是否可以处理Controller的实现类,如何可以处理就返回该handlerAdapter的实现类;

 

3.ModelAndView mv = ha.handle(request, response, handler);

这一步由HandlerAdapter 的实现类 来执行handle(request, response, handler)方法;

 

总结:第一个函数handlerMapping解析URL请求,指向具体的Controller实现类

 

第2,3函数,SPRING 调用具体的Controller实现类来执行用户请求;

 

4 . 第四步render(ModelAndView , HttpServletRequest , HttpServletResponse )

又是循环查找ViewResolver 的实现类来处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值