1、用户发起request请求至控制器(Controller)
控制接收用户请求的数据,委托给模型进行处理
2、控制器通过模型(Model)处理数据并得到处理结果
模型通常是指业务逻辑
3、模型处理结果返回给控制器
4、控制器将模型数据在视图(View)中展示
web中模型无法将数据直接在视图上显示,需要通过控制器完成。如果在C/S应用中模型是可以将数据在视图中展示的。
5、控制器将视图response响应给用户
通过视图展示给用户要的数据或处理结果。
Spring MVC原理
1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
5、执行处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView
7、HandlerAdapter将controller执行结果ModelAndView返回DispatcherServlet
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、ViewReslover解析后返回具体View
10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户
以下组件通常使用框架提供实现:
DispatcherServlet:前端控制器
用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。
HandlerMapping:处理器映射器
HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
Handler:处理器
Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。
由于Handler涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。
HandlAdapter:处理器适配器
通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
View Resolver:视图解析器
View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。
一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。
- 大小: 23 KB
- 大小: 40.6 KB
分享到:
相关推荐
SpringMVC是Java开发中广泛使用的Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发。MVC模式将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller...
SpringMVC 的工作原理简述如下: 1)客户端发起请求到达 DispatcherServlet。 2)DispatcherServlet 查询 HandlerMapping,找到对应请求的 Controller。 3)Controller 处理业务逻辑,返回 ModelAndView 对象。 4)...
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
#### 简述SpringMVC原理/执行流程 1. 用户发送HTTP请求至前端控制器**DispatcherServlet**。 2. **DispatcherServlet**委托**HandlerMapping**寻找处理该请求的**Handler**。 3. **DispatcherServlet**通过**...
### JavaEE框架总结 #### 框架定义与学习重点 - **框架定义**:框架是一种半成品形式的代码集合,旨在提供一个基础结构供开发者在此基础上构建具体的应用程序。框架通常封装了一些通用功能,使得开发者能够重用...
相比之下,Struts是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架,它处理HTTP请求并管理Action(控制器)的执行。在Struts中,Spring的集成通常通过Struts2的Spring插件(Struts2-Spring-plugin)来实现。...
3. **Chapter 05** - Spring MVC:介绍Spring MVC作为Java EE Web应用程序的模型-视图-控制器(MVC)架构。讨论DispatcherServlet、Controller接口、ModelAndView对象、视图解析器和数据绑定等概念。 4. **Chapter ...
##### SpringMVC运行原理 - 用户发起请求,由DispatcherServlet接收请求并进行调度。 - HandlerMapping确定调用哪个Handler处理请求。 - ViewResolver解析视图并显示结果。 ##### Struts1.x与Struts2.x的区别 - **...
SpringMVC处理HTTP请求和响应,实现了模型-视图-控制器(MVC)模式;MyBatis则是一个持久层框架,简化了数据库操作。 2.2 Java编程语言 Java是一种面向对象的、跨平台的编程语言,具有优秀的可移植性、安全性和...
2. SpringMVC:作为Web层框架,处理HTTP请求,实现模型-视图-控制器模式,使得业务逻辑与展示分离。 3. MyBatis:是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动...
SpringMVC是Spring框架的一部分,专门处理Web应用的请求和响应,实现了模型-视图-控制器的设计模式。MyBatis则是一款优秀的持久层框架,它允许开发者通过简单的XML或注解来映射原生信息,从而将SQL与Java代码分离,...
- **项目背景介绍**:简述项目的初衷、目标用户及解决的问题。 - **项目架构**:描述使用的架构模式和技术栈。 - **提供的服务与功能**:列举主要功能模块。 - **核心模块实现思路**:具体的技术实现细节。 - **大...
Java必备知识点大全的内容非常丰富,涵盖了Java语言的基础知识、常用的框架以及数据库的应用等方面,是每一个Java开发者学习和面试时的重要参考。下面是对文档中各个知识点的详细解析。 基础篇: JDK常用的包:Java...
2. 技术介绍:简述Java编程语言、SSM框架和MySQL数据库的基本原理和应用。 3. 需求分析:详细列出系统所需功能,如商品管理、订单管理、用户管理等。 4. 可行性分析:讨论系统开发的技术、经济和操作可行性。 5. ...
【多线程】简述synchronized 和java.util.concurrent.locks.Lock的异同? 90 【线程】ThreadLocal的作用 90 【Spring】什么是IOC和DI?DI是如何实现的 91 【Spring】spring中的IOC(控制反转)的原理 92 【Spring】...