zoukankan      html  css  js  c++  java
  • springMVC工作原理

    定义:Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。即使用了MVC架构模式的思想,将web层进行职责解耦。

    工作原理:

    原理步骤:

    第一步:用户发起请求到前端控制器(DispatcherServlet)

    第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找

    第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)

    第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)

    第五步:处理器适配器去执行Handler(controller)

    第六步:Handler执行完给处理器适配器返回ModelAndView

    第七步:处理器适配器向前端控制器返回ModelAndView

    第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

    第九步:视图解析器像前端控制器返回View

    第十步:前端控制器对视图进行渲染

    第十一步:前端控制器向用户响应结果

    组件:

    1、前端控制器 DispatcherServlet(不需要程序员开发,一般在web.xml里面设置好)

      作用:接收请求、响应结果 相当于转发器

      有了DispatcherServlet 就减少了其它组件之间的耦合度

    2、处理器映射器HandlerMapping(不需要程序员开发)

      作用:根据请求的URL来查找Handler

    3、处理器适配器HandlerAdapter

      作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler

      注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler

    4、处理器Handler(也叫作controller,需要程序员开发

    5、视图解析器 View Resolver(不需要程序员开发)

      作用:进行视图的解析 根据视图逻辑名解析成真正的视图(view)

    6、视图View(需要程序员开发jsp

      View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf。。。)

     

  • 相关阅读:
    Python3.6学习笔记(四)
    Python3.6学习笔记(三)
    Python3.6学习笔记(二)
    Python 3.6学习笔记(一)
    iOS:解决UITextView自适应高度粘贴大量文字导致显示不全的问题
    iOS:苹果内购实践
    iOS:类似于网易云音乐的刷新条目显示弹框
    iOS:练习题中如何用技术去实现一个连线题
    iOS:NSFileHandle和NSFileManger的使用
    iOS:使用莱文斯坦距离算法计算两串字符串的相似度
  • 原文地址:https://www.cnblogs.com/liuqing576598117/p/10275994.html
Copyright © 2011-2022 走看看