Java中的SpringMVC流程详解

SpringMVC流程详解

什么是SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。SpringMVC是一种web层的mvc框架,用于替代servlet(处理响应请求,获取表单参数,表单验证等)

SpringMVC框架的作用

MVC = Model(数据模型) + View(视图) + Controller(控制器)

解决了V与C的交互问题,其中,V表示视图,即软件的界面,通常是在客户端运行和呈现的,而C表示控制器,在传统的Java EE体系中,表现为各个Servlet组件,是运行在服务器端的,所以,SpringMVC框架解决的问题也可以理解为"客户端与服务器端的交互问题,即客户端如何把请求提交给服务器,服务器如何接受客户端的请求,并响应结果".

SpringMVC与M(Model)完全没有关系.

SpringMVC框架的核心组件

  • DispatcherServlet:前端控制器,用于接收所有请求,将请求分发给各个Controller组件,并组织整个处理流程;

  • HandlerMapping:记录请求路径与处理请求的控制器的对应关系;

  • Controller:具体处理请求的组件;

  • ModelAndView:Controller组件处理完请求后的处理结果,包含Model(数据)和View(视图名称);

  • ViewResolver:视图解析器,可以根据视图名称确定具体的视图组件.

SpringMVC框架的工作流程

springmvc

1.发起请求到前端控制器(DispatcherServlet)
2.前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找)
3.处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor拦截器对象),通过这种策略模式,很容易添加新的映射策略
4.前端控制器调用处理器适配器去执行Handler
5.处理器适配器HandlerAdapter将会根据适配的结果去执行Handler
6.Handler执行完成给适配器返回ModelAndView
7.处理器适配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一个底层对象,包括 Model和view)
8.前端控制器请求视图解析器去进行视图解析 (根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可
9.视图解析器向前端控制器返回View
10.前端控制器进行视图渲染 (视图渲染将模型数据(在ModelAndView对象中)填充到request域)
11.前端控制器向用户响应结果

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值