SpringMVC的执行流程

1、SpringMVC工作原理图

 执行流程: 

        1、用户发送请求至前端控制器DIspatcherServlet

        2、DIspatcherServlet收到请求调用处理器映射器HandlerMapping

        3、处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet

        4、DIspatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作

        5、执行处理器Handler(Controller,也叫页面控制器)

        6、Handler执行完成返回ModelAndView

        7、HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet

        8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

        9、ViewResolver解析后返回具体的View

        10、DispatcherServlet对View进行渲染视图(即将模型数据Model填充至视图中)

        11、 DIspatcherServlet响应用户

        

组件说明

        1、DispatcherServlet:前端控制器。用户请求到达前端控制器,它就相当于mvc模式中的c,DispatcherServlet是整个流程控制的中心

                由它调用其他组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性,系统扩展性提高。由框架实现

        2、HandlerMapping:处理器映射器。HandlerMapping负责根据用户请求的url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式

                根据一定的规则去查找,例如:xml配置方式,实现接口方式,注解方式等。由框架实现


        3.Handler:处理器。Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。由于Handler涉及到具体的用户

                业务请求,所以一般情况需要程序员根据业务需求开发Handler。

        4、HandlerAdapter:处理器适配器。通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。由框架实现

        5、ModelAndView:springmvc的封装对象,将model和view封装到一起

        6、ViewResolver:视图解析器。ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,在生成View视图对象,最后

                对View进行渲染将处理结果通过页面展示给用户

        7、View是SpringMVC的封装对象,是一个接口,SpringMVC框架提供了很多VIew视图模型,包括:jspview,pdfview,jstlView、freemarkerView、pdfView等。一般情况下需要通过

                页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值