• SpringMvc的核心组件和执行流程


    一、 springmvc的核心组件及作用

    1.DispatcherServlet:前置控制器,是整个流程控制的核心,用来控制其他组件的执行,降低了其他组件的耦合性

    2.Handler:控制器,完成具体的业务逻辑,当DispatcherServlet接收到请求后,会将不同的请求分发到不同的Handler中,而Handler的实现要靠HandlerMapping

    3.HandlerMapping:将请求映射到Handler,根据不同的请求,找到不同的Handler

    4.HandlerInterceptor:处理器拦截器,是一个接口,若要做一些拦截处理,可以实现这个接口,来完成对应的拦截功能

    5.HandlerExceptionChain:处理器执行链

    6.HandlerAdapter:处理器适配器,Handler在执行业务前执行一系列的操作(对表单数据的处理,数据转换等),DispatcherServlet通过它来给Handler分发请求

    7.ModelAndView:装载模型数据和视图信息,视图信息指逻辑视图作为Handler的处理结果返回给DispatcherServlet

    8.ViewResolver:视图解析器,将逻辑视图解析为物理视图,最终将结果渲染给客户端。

    二、springmvc的实现流程

    1.客户端请求被DispatcherServlet接收

    2.DispatcherServlet将请求映射到Handler

    3.生成Handler以及HandlerInterceptor

    4.返回HandlerExceptionChain(Handler + HandlerInterceptor),HandlerInteceptor至少包含一个(默认的)

    5.DispatcherServlet通过HandlerAdapter执行Handler

    6.返回一个ModelAndView,这个结果包含了逻辑视图和数据模型

    7.DispatcherServlet通过ViewResolver进行解析,将逻辑视图转换成物理视图,并完成模型数据的封装

    8.返回填充了模型数据的View,响应给客户端

    三、流程图

    SpringMvc流程图

    四、生活

    生活:前几天刚举行完运动会,也不知道怎么的大腿疼的要亖,感觉老想抽筋,跑完二百米就更疼了,膝盖也挺痛的。不过一切都会好起来的在这里插入图片描述
    学习:项目就不说了,挺难的,感觉自己就用了一些简单的sql语句,麻烦一点的就是多态sql了,那些再难的查询什么的都没有,项目结束后要深入学习mysql,看能不能修改项目。也熬过两次夜,但是感觉效果不如早起,早起yyds.
    展望未来:项目不知道怎么样,但是生活回归正轨,备战四级考试,锻炼身体
    热爱生活
    其实写写这东西还挺好在这里插入图片描述

  • 相关阅读:
    Qt+C++桌面计算器源码
    上周热点回顾(3.13-3.19)
    umich cv-1
    CSS选择器分类 [后代选择器、交集选择器、并集选择器(分组选择器)]
    Oracle 存储过程数据插入临时表慢以及SQL语句查询慢
    【Linux - 操作技术】八 软件包管理
    Vue(模板语法 2)
    Typescript面向对象(接口、类、多态、重写、抽象类、访问修饰符)
    基于javaweb的公交线路查询系统
    MySQL驱动包下载
  • 原文地址:https://blog.csdn.net/liusaidh/article/details/138037441