Spring MVC工作原理

1 篇文章 0 订阅
一、用户发磅请求,web.xml中servlet-mapping映射到DispatcherServlet

二、DispatcherServlet调用doService->doDispatch,
1、通过HandlerMapping找到对应的handler,并构建一个HandlerExecutionChain,它包含handler和HandlerMapping本身的一些拦截器,返回给DispatcherServlet。
HandlerMapping接口实现:
  • BeanNameUrlHandlerMapping:通过对比url和bean的name找到对应的对象
  • SimpleUrlHandlerMapping:也是直接配置url和对应的bean,比BeanNameUrlHandlerMapping功能更多
  • RequestMappingHandlerMapping:针对注解@RequestMapping
2、通过HandlerAdapter找到对应访问的方法,调用handler对应的方法,并将返回值ModelAndView返回给DispatcherServlet
HandlerAdapter接口实现:
  • HttpRequestHandlerAdapter:要求handler实现HttpRequestHandler接口,该接口方法为void handleRequest(HttpServletRequest request, HttpServletResponse response)
  • SimpleControllerHandlerAdapter:要求Handler实现Controller接口,访接口的方法为ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse)
  • RequestMappingHandlerAdapter:和上面的RequestMappingHandlerMapping配对使用,针对@RequestMapping

ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,其中Model以Map形式存放

三、DispatcherServlet通过ViewResolver完成视图解析

四、DispatcherServlet使用Model完成视图渲染,并将结果返回给客户端



参考:
http://www.360doc.com/content/14/1024/23/18637323_419613178.shtml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值