DispatcherServlet 请求处理流程已经穿插在前面的示例中介绍,直接看前面的描述可能不是很直观,这里总结了一张图来梳理整个流程。
整个流程串联起来如下。
- DispatcherServlet 处理浏览器发起的请求。
- DispatcherServlet 根据用户或默认的配置使用 HandlerMapping 查找可处理请求的处理器。
- DispatcherServlet 拿到 HandlerMapping 返回的处理器链 HandlerExecutionChain。整个处理器链包含拦截器和处理。
- DispatcherServlet 将处理器适配为 HandlerAdapter。
- DispatcherServlet 使用拦截器进行请求前置处理。
- DispatcherServlet 使用处理器进行请求处理。
- DispatcherServlet 使用拦截器进行请求后置处理。
- DispatcherServlet 从拦截器或处理器中提取到模型及视图 ModelAndView。
- DispatcherServlet 使用视图解析器 ViewResolver 解析视图出视图 View。
- DispatcherServlet 渲染视图,响应请求。
本文先介绍 MVC 架构模式,然后通过示例的方式对 Spring MVC 的使用方式及执行流程进行介绍,最后还使用一个流程图总结。
Spring MVC 中所有的扩展都基于 DispatcherServlet 处理请求的这个流程,可以说理解了这个流程图就理解了 Spring MVC 的原理,后面将会对这个流程进行细化,继续介绍 Spring MVC 的其他内容。感兴趣的小伙伴不妨点个关注。
Sping MVC 正式的名字为 Spring Web MVC,是 Spring Framework 框架中的其中一个模块,基于 Servlet API 构建,同时使用 MVC 的架构模式,主要用以简化传统的 Servlet + JSP 进行 web 开发的工作。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架
二.MVC模型
M代表: Model模型
V代表: View视图
C代表: Control控制层
用来进行分层的结构,这样代码分离结构清晰,各层代码,
SpringMVC三层架构
Java SpringMVC的工程结构一般来说分为三层,自下而上是Modle层(模型,数据访问层)、Cotroller层(控制,逻辑控制层)、View层(视图,页面显示层),其中Modle层分为两层:dao层、service层,MVC架构分层的主要作用是解耦。采用分层架构的好处,普遍接受的是系统分层有利于系统的维护,系统的扩展。就是增强系统的可维护性和可扩展性。
对于Spring这样的框架,(View\Web)表示层调用控制层(Controller),控制层调用业务层(Ser
我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器架构,另一种是B/S架构,也就是浏览器/服务器架构。在JavaEE开发中,几乎都是基于B/S架构的开发。
在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层。
Spring MVC 是一种基于 Java 的 Web 应用程序框架,它通过模型-视图-控制器(MVC)的设计模式来实现 Web 应用程序的开发。它提供了一种灵活的方式来组织和管理 Web 应用程序的代码,使得开发人员可以更加轻松地编写高质量的代码。Spring MVC 的核心是控制器(Controller),它负责处理来自客户端的请求,并将响应返回给客户端。同时,Spring MVC 还提供了一些其他的组件,如模型(Model)、视图(View)和处理器映射器(Handler Mapping),这些组件可以帮助开发人员更加高效地开发 Web 应用程序。总之,Spring MVC 是一种非常强大和流行的 Web 应用程序框架,它可以帮助开发人员更加轻松地开发高质量的 Web 应用程序。