IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpirngMVC:为Spring提供了Web应用的MVC模块 -> 正文阅读

[Java知识库]SpirngMVC:为Spring提供了Web应用的MVC模块

一、什么是MVC模式?

MVC:MVC是一种设计模式。
MVC的原理图:
请添加图片描述
解释:
M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity)
V-View 视图(做界面的展示 jsp,html……)
C-Controller 控制器(接收请求—>调用模型—>根据结果派发页面)

二、什么是SpringMVC?

SpringMVC是一个MVC开源框架,SpringMVC = Struct2 + Spring ,SpringMVC相当于Struts2加上Spring的整合,这里有一个疑问就是,SpringMVC和Spirng有什么关系呢?这个在百度百科上有一个很好的解释:意思就是说,SpringMVC是Spring的一个后续产品,其实就是在Spring原有的基础之上,又提供了Web应用的MVC模块,可以简单得把SpringMVC理解成为是Spring的一个子模块(类似于IOC,AOP这样的模块),网络上经常有人说SpringMVC和Spirng无缝集成,其实SpringMVC就是Spring的一个子模块,所以根本不需要同Spring进行整合。

三、SpringMVC的工作原理

我们先来看一张图
请添加图片描述
解释:
1、用户发送请求至前端控制器DispatcherServlet.
2、DispatcherServlet收到用户的请求之后调用HandlerMapping处理器映射器.
3、HandlerMapping处理器映射器根据配置或者是注解找到最终要执行的Handler处理器(这里的Handler处理器其实也就是Controller,也叫后端控制器。),并生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dispatcher.
4、DispatcherServlet调用HandlerAdapter处理器适配器。
5、HandlerAdapter处理器适配器根据特定的HandlerAdapter处理器适配器要求的规则执行不同类型的Handler处理器。
6、Handler(Controller)执行完后返回一个ModelAndView给HandlerAdapter处理器适配器。
7、HandlerAdapter处理器适配器将Controller执行返回的结果ModelAndView返回给DispatcherServlet.
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9、ViewReslover视图解析器根据逻辑视图名解析成物理视图名(具体的页面地址),再生成View视图对象,包括(JstlView、FreemarkerView、PdfView等),再返回给DispatcherServlet。
10、DispatcherServlet根据View将模型数据填充到视图中,既进行视图渲染。
11、DispatcherServlet响应用户

四、Spirng工作原理中各组件的作用

组件:
1、前端控制器DispatcherServlet(不需要工程师开发),由框架提供。
作用:接收请求,响应结果,相当于转发器,中央处理器。
解释:用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它 调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。

2、处理器映射器HandlerMapping(不需要工程师开发),由框架提供。
作用:根据配置或者是注解找到最终要执行的Handler处理器(这里的Handler处理器其实也就是Controller,也叫后端控制器。),并生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dispatcher.SpringMVC提供了不同的映射方式如,配置文件方式、注解方式、师兄接口方式等。

3、处理器适配器HandlerAdapter
作用:HandlerAdapter处理器适配器根据特定的HandlerAdapter处理器适配器要求的规则执行不同类型的Handler处理器,其中Handler(Controller)执行完后返回一个ModelAndView给HandlerAdapter处理器适配器,可以通过拓展适配器可以对更多类型的处理器进行执行。

4、处理器Handler(需要工程师开发)
解释:Handler 是继DispatcherServlet前端控制器的后端控制器, 在DispatcherServlet的控制下Handler对具体的用户请求进行处理。由于Handler涉及到具体的用户业务请求,所以一般情况需要工程师根据业务需求开发Handler。
这里有一个需要注意的点:编写Handler时按照HandlerAdapter的要求去做, 这样适配器才可以去正确执行Handler。

5、视图解析器View Resolver(不需要工程师开发),由框架提供。
作用:ViewReslover视图解析器根据逻辑视图名解析成物理视图名(具体的页面地址),再生成View视图对象,SpringMVC框架提供了很多的View类型中,其中包括JstlView、FreemarkerView、PdfView等,再返回给DispatcherServlet。

6、View:View是一个接口,其实现支持不同的View类型,SpringMVC框架提供了很多的View类型中,其中包括JstlView、FreemarkerView、PdfView等。

关于SpringMVC的工作原理是挺复杂的,但是也不难理解!

五、SpringMVC常用的注解有哪一些?

@RequestMapping:用于处理用户请求的URL映射的注解,该注解可用于类上,也可以用于方法上。如果在类上表示类中的所有请求的方法都是以该地址作为父路劲的。

@RequestBody:该注解用于实现接收HTTP请求的JSON数据,并将传过来的Json数据转换为Java对象。

@ResponseBody:该注解实现将Controller方法中返回的对象自动转化为Json对象响应给用户。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:07:17  更:2022-09-25 23:08:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 16:52:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码