• spring MVC


    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:数据传输对象。

  • 相关阅读:
    jdbc连接数据库 url
    解决IntelliJ IDEA 使用 TOMCAT 中文乱码问题
    web.xml 4.0 头部信息
    jar包冲突解决方案
    idea 快捷键
    基于单片机的车辆防碰撞及自动刹车系统(STC89C52RC芯片+超声波传感器HC-SR04+液晶屏1602+继电器+蜂鸣器)
    电子时钟万年历+51单片机+1602液晶屏+DS1302+DS18B20+按键
    1008 数组元素循环右移问题(PAT)
    1007 素数对猜想(PAT)
    1006 换个格式输出整数(PAT)
  • 原文地址:https://www.cnblogs.com/lyt-echso/p/12943337.html
Copyright © 2020-2023  润新知