SpringMVC详解

1、SpringMVC是什么

在 Spring 的基本架构中,Spring Web MVC 也就是 SpringMVC,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。

SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。

 2、SpringMVC工作流程

3、SpringMVC架构

3.1、架构流程

第一步:用户发送请求到前端控制器(DispatcherServlet)。

第二步:前端控制器请求 HandlerMapping 查找 Handler,可以根据 xml 配置、注解进行查找。

第三步: 处理器映射器 HandlerMapping 向前端控制器返回 Handler

第四步:前端控制器调用处理器适配器去执行 Handler

第五步:处理器适配器执行 Handler

第六步:Handler 执行完成后给适配器返回 ModelAndView

第七步:处理器适配器向前端控制器返回 ModelAndView

    ModelAndView 是SpringMVC 框架的一个底层对象,包括 Model 和 View

第八步:前端控制器请求试图解析器去进行视图解析

    根据逻辑视图名来解析真正的视图。

第九步:试图解析器向前端控制器返回 view

第十步:前端控制器进行视图渲染

    就是将模型数据(在 ModelAndView 对象中)填充到 request 域

第十一步:前端控制器向用户响应结果

 

3.2、组件说明

*DispatcherServlet:前端控制器

用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。

*HandlerMapping:处理器映射器

HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

*Handler:处理器

Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

由于Handler涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。

*HandlAdapter:处理器适配器

通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。 

*ViewResolver:视图解析器

View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

*View:视图

springmvc框架提供了很多的View视图类型的支持,包括:jstlView、freemarkerView、pdfView等。我们最常用的视图就是jsp。

 

一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

说明:

springmvc的各个组件中,处理器映射器、处理器适配器、视图解析器称为springmvc的三大组件。

需要用户开发的组件有handlerview

Spring MVCSpring 框架的一个模块,它是一种基于 MVC 设计模式的 Web 框架,用于开发具有灵活性和可扩展性的 Web 应用程序。Spring MVC 是目前最流行的 Java Web 框架之一,它可以与其他 Spring 框架和第三方框架集成使用,可以满足各种 Web 应用程序的需求。 Spring MVC 框架中的核心组件包括: 1. DispatcherServlet:前端控制器,用于接收客户端请求并将请求分发给相应的控制器。 2. HandlerMapping:用于将请求映射到相应的处理器(Controller)。 3. Controller:用于处理客户端请求并返回相应的视图。 4. ViewResolver:用于将逻辑视图名称解析为实际视图对象。 5. ModelAndView:用于封装处理器的返回值(数据模型和视图名称)。 6. Interceptor:用于在请求处理前或处理后执行一些公共的逻辑。 Spring MVC 框架的工作流程: 1. 客户端发送请求到 DispatcherServlet。 2. DispatcherServlet 根据请求 URL 调用 HandlerMapping 查找相应的处理器(Controller)。 3. Controller 处理请求并返回一个 ModelAndView 对象。 4. DispatcherServlet 调用 ViewResolver 根据逻辑视图名称查找相应的视图对象。 5. View 对象渲染模型数据,并将渲染后的结果返回给客户端。 6. 客户端接收响应并显示。 总的来说,Spring MVC 框架通过提供一种基于 MVC 设计模式的 Web 框架来简化 Web 应用程序的开发,提高应用程序的灵活性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值