• SpringMVC的执行原理


    SpringMVC

    》SpringMVC是什么
    spring的组件,用来对web开发进行封装,使得web开发便捷高效


    》使用体验
    1.一个普通的类可以接受请求
    2.类的方法来处理请求
    3.请求参数自动封装
    4.方法的返回值可以是页面片段也可以是逻辑视图,普通字符串

    》使用回顾
    1.通过浏览器发送请求
      http://localhost:8080/toAdminList
    2.请求到达web服务器,由springmvc的DispacherServelet接受请求
      它配置在web.xml中,用来接收所有非.jsp的请求
    3.DispacherServelet接收请求后,会调用HandlerMapping处理器映射器,去查找相应的处理器
      先找到被注解为Controller的类
      再拿到请求url与类中方法上面的注解@RequestMapping的参数进行比对
      找到url中,把这个处理返回给DispacherServelet
    4.DispacherServelet拿到具体的处理器后,会调用处理器适配器执行控制器中具体的方法,处理请求
    5.具体的处理器来处理请求
      调用业务逻辑层,
        调用dao层
          操作数据库
    6.处理器把处理完的数据返回给DispacherServelet
      数据
        放到Model中
      逻辑视图
        方法的返回值
    7.DispacherServelet接收到Model and view
      会调用视图解析器来解析视图view
        在配置文件中自己配置的视图解析器
    8.视图解析器拿到逻辑视图view后
      会通过配置的信息,加上前后缀找到具体的视图
      找到视图后返回给DispacherServelet
    9.DispacherServelet接收到解析出的视图后
      会拿到Model中的数据去渲染视图
        如果视图是jsp的话,通过el和jstl表达式来把数据显示到页面上
    10.DispacherServelet把渲染好的视图响应给浏览器

    》与Servlet比较
    1.servlet是类级别的请求处理
    2.servlet获取参数要手动获取,并要自己对参数的数据类型进行响应的转换
    3.springmvc是方法级别的处理方式
    4.springmvc可以自动封装各种类型的参数
    5.springmvc在使用过程中没有特定的api


  • 相关阅读:
    Python中使用PyMySQL
    python实现通用json导入到mysql
    python实现通用excel导入到mysql
    java优化几个小步骤
    日志添加request-id
    Nginx优化
    tomcat8 性能优化参考
    excel空格处理
    spring boot swagger ui使用 nginx 部署后无法使用问题
    Swagger2多包扫描
  • 原文地址:https://www.cnblogs.com/longmo666/p/13552487.html
Copyright © 2020-2023  润新知