zoukankan      html  css  js  c++  java
  • 什么是SpringMvc

    1、什么是SpringMvc?

    SpringMvc是spring的一个模块 基于MVC的一个框架 无需中间整合层来整合 

    什么是MVC ?mvc在b/s下的应用:

    首先请求发送request请求到C(control 接收用户请求响应用户) 然后控制器到M模型(pojo、action、service、dao)层处理 处理结果完了返回控制器 控制器要经过视图渲染  最后返回终端(response)

     在b/s系统下模型无法将数据直接填充到视图 还是要返回控制器 

    MVC是一个设计模式 是开发程序的一种解决方案

    前端控制器 DispatcherServlet 

    处理执行链HandlerExcutionChian 

    处理器映射器 HandlerMapping

    处理器适配器 HandlerAdapter 去执行Handler

    前端控制器 DispatcherServlet 请求执行Handler 处理完  返回 ModelAndView (模型和视图的结合体) 前端控制器接收到ModelAndView后请求视图解析器 返回view 前端控制器将视图进行渲染

    SpringMvc整个的执行流程:

    1、发起请求到前端控制器(DispatcherServlet )

    2、前端控制器请求HandlerMapping查找Handler(可以根据xml、注解进行查找)

    3、处理器映射器HandlerMapping向前端控制器DispatcherServlet 返回Handler

    4、前端控制器DispatcherServlet 调用处理器适配器HandlerAdapter 执行Handler

    5、处理器适配器HandlerAdapter 执行Handler

    6、Handler执行完给处理器适配器返回ModelAndView

    7、处理器适配器向前端控制器返回ModelAndView (ModelAndView 是SpringMvc的底层对象 包括model和view)

    8、前端控制器请求视图解析器去解析视图

      根据逻辑视图名解析成真正的视图(jsp)

    9、视图解析器向前端控制器返回view

    10、前端控制器进行视图渲染

      视图渲染将模型数据(模型数据在ModelAndView对象中)填充到request域

    11、前端控制器向用户响应结果

    组件:

    1、前端控制器 DispatcherServlet(不需要程序员开发)

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

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

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

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

    3、处理器适配器HandlerAdapter

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

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

    4、处理器Handler(需要程序员开发

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

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

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

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

  • 相关阅读:
    项目太多工作环境互相干扰?virtualenv 一招教你轻松解决。
    安装的 Python 版本太多互相干扰?pyenv 建议了解一下。
    Python 拓展之详解深拷贝和浅拷贝
    Python 操作 SQLite 数据库
    IQueryable接口与IEnumberable接口的区别
    Resharper的配置(习惯使用了VS的F6编译和F12(快速非resharper查询编译代码)转到定义的默认设置)【设置了好多次resharper的使用了,特此记下简单的思路】
    程序人生,人生程序。(面向对象的奇葩理解)
    SQL表连接查询(inner join、full join、left join、right join)
    MYSQL中存储过程的创建,调用及语法
    mysql存储过程详解
  • 原文地址:https://www.cnblogs.com/mrluotong/p/5890338.html
Copyright © 2011-2022 走看看