SpringMvc 执行原理

当用户请求 会发送到前端控制器,DisptcherServlet根据请求参数生成代理请求,找到对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结构,将结果返回给中心控制器,再将结果返回给请求者

没有sprinmvc之前,我们用的是selervt 一个请求配置一个servlet,在web.xml文件中进行配置,要开发一个项目,要使用好多个serlet,配置。

而springmvc出现,替换了servlet,本质上还是一个大的servlet,帮我们做了集成式的处理。 具体过程:

  1. 当用户发起请求 ,先会发送到前端控制器(DisptcherServlet),也叫分发控制器,
  2. 根据当前发出的请求去查询对应的handler,也就是查找对应的controller是哪一个,
  3. 找到controller之后呢, 执行返回去的执行基链,(有一堆的链 比如前置处理,后置处理),会把这些都封装起来返回给前端控制器,
  4. 执行对应的hanlder,因为controller执行对应的hanlder是不同的,所有要通过一个适配器的组件来找到对应的controller方法,来进行执行,
  5. 执行完后在返回一个ModelAndView对象,方便我们进行页面回显和数据展示,。然后再将modelandview返回前端控制器,因为所有处理的核心流程都在前端控制器
  6. 返回之后,已经有视图和模型了,然后发送一个解析视图的请求,由viewResolver视图解析器解析,也就是找到对应的jsp页面,把这些东西返回给前端控制器
  7. 当返回之后 通过jsp。。等前端模板 进行页面渲染,把页面数据都进行一个填充,当填充好 在返回给浏览器 给用户看
相关推荐
lee_curry2 天前
tomcat+springmvc+spring源码流通过程
java·spring·tomcat·springmvc
jasnet_u18 天前
SpringMVC 请求处理深度解析:从 DispatcherServlet 到视图渲染
spring·springmvc·springboot
Cyan_RA919 天前
SpringMVC 数据格式化处理 详解
java·开发语言·spring·mvc·ssm·springmvc·数据格式化
一只大袋鼠21 天前
SpringMVC 框架中的拦截器
java·springmvc·javaweb·拦截器
一只大袋鼠21 天前
SpringMVC全局异常处理
java·开发语言·springmvc·javaweb
一只大袋鼠23 天前
JavaWeb四种文件上传方式(下篇)
java·开发语言·springmvc·javaweb
庞轩px24 天前
第三篇:SpringMVC——一个HTTP请求在Spring中经历了什么?
网络协议·spring·http·springmvc·handlermapping·前端控制器
Cyan_RA925 天前
SpringMVC 视图和视图解析器 万字详解
java·spring·mvc·springmvc·请求重定向·modelandview·视图解析器
javachen__1 个月前
Spring MVC 动态支持 JSON/XML 的技巧
spring·springmvc
Cyan_RA91 个月前
SpringMVC 请求数据绑定与参数映射 详解
java·后端·spring·mvc·springmvc·映射请求数据