zoukankan      html  css  js  c++  java
  • SpringMVC

    SpringMVC原理:

      SpringMVC是Spring中的模块,它实现了mvc设计模式的web框架,首先用户发出请求,请求达到SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配的url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用响应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

      DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求并根据用户的请求返回相应的视图给用户。

      实现业务操作时在service层。

    •  前端控制器:接受请求,响应结果,返回的可以是json,String等数据类型,也可以是页面Model
    • 处理映射器:根据url区查找处理器,一般通过XML配置或者注解进行查找
    • 处理器:controller,程序员编写
    • 处理器适配器:可以将处理器包装成适配器,这样就可以支持多种类型的处理器
    • 视图解析器:进行视图解析,返回view对象

    执行过程

    1. 用户向Spring容器发送一个http请求,请求被前端控制器(DispatcherServlet)拦截
    2. 前端控制器将会调用恰当的处理器映射器(HandlerMapping),处理器映射器其实记录url到请求方法映射们根据url就可以寻找到对应的方法,就像一个HashMap,其实Key就是注解后面的字符串,Value就是方法对象。比如@RequestMapping(“/list”),当浏览器中键入list.action就会自己调用注解下面的方法。
    3. 处理器映射器会返回一个处理器执行链,里面包含了很多拦截器,拦住了就踢出去,没拦住就继续执行,把controller缴费前端控制器。
    4. 此时前端控制器不会执行你写的controller,而是将执行权交给处理器适配器(Handler Adapter),让适配器去执行controller。因为前端控制器要处理的东西很多,而且controller是你自己写的代码,可能会有很多不同形式的controller,这里统一交给处理器适配器,就好比一台笔记本电脑只有usb接口,但是它既可以接键盘,又可以接网线,。。。
    5. 处理器适配器选择不同的处理器处理handler。
    6. 处理器处理完了返回不同的ModelAndView,model里面放数据,view里面放返回哪个页面。
    7. 将ModelAndView返回给前端控制器。
    8. 前端控制器找视图解析器解析,它的作用就是解析视图
    9. 视图解析器解析以后返回给view。
    10. DispatcherServlet对view今夕渲染视图(即将模型数据填充至视图中)
    11. DispatcherServlet响应用户。
  • 相关阅读:
    IIS支持apk文件下载
    【转】Winform输入法控制
    WebRequest请求Url中文乱码
    c#实现Form窗体始终在桌面最前端显示
    在静态页面中使用 Vue.js
    NPOI 的使用姿势
    C# 模拟 HTTP POST请求
    WinForm 绑定到嵌套对象上的属性
    彻底清除 Windows 服务
    WPF DataGrid 绑定行双击行命令
  • 原文地址:https://www.cnblogs.com/wudidamowang666/p/11445142.html
Copyright © 2011-2022 走看看