首页 > 编程语言 > 详细

spring MVC

时间:2020-05-23 17:34:28      阅读:102      评论:0      收藏:0      [点我收藏+]

spring MVC

  •  MVC是什么

    MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

 

  •  Spring MVC原理

   流程图:

    技术分享图片技术分享图片

  步骤解析:

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

第二步:前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找)

第三步:处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor拦截器对象),通过这种策略模式,很容易添加新的映射策略

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

第五步:处理器适配器HandlerAdapter将会根据适配的结果去执行Handler

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

第七步:处理器适配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一个底层对象,包括 Model和view)

第八步:前端控制器请求视图解析器去进行视图解析 (根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可

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

第十步:前端控制器进行视图渲染 (视图渲染将模型数据(在ModelAndView对象中)填充到request域)

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

 

  •  RestFul风格

     restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    把url的风格改变了:

      传统:http://localhost/test?a=1&b=2

      RestFul:http://localhost/test/1/2

    一定程度上,保证了安全性,没有暴露参数,也就是说参数1,2,如果不知道真正的api,你是不知道它们是不是参数值

    RestFul有GET、 POST、 PUT、 PATCH、 DELETE 等请求方式

 

  •  请求转发与重定向的区别
    • 请求转发只有一次请求一次响应,重定向有两次请求两次响应.
    • 请求转发浏览器的地址栏不会发生变化,重定向浏览器地址栏会发送变化,因为重新发送了一次请求.

 

  •  po、vo、pojo、dao、bo、 dto是什么

       po:persistent object 持久对象

    vo:value object 值对象 / view object 表现层对象

    pojo:plain ordinary java object 无规则简单java对象 

      • pojo持久化之后==〉po
      • pojo传输过程中==〉dto
      • pojo用作表示层==〉vo
      • po和vo都应该属于它。

      dao:data access object:数据访问对象

      bo:business object:业务对象

     dto:data transfer object:数据传输对象。

 

spring MVC

原文:https://www.cnblogs.com/lyt-echso/p/12943337.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!