SpringMVC中的返回值是什么?

news2024/11/15 1:37:12

1.谈谈你对SpringMVC的理解

      SpringMVC是属于Spring Framework生态里面的一个模块,它是在Servlet的基础上构建并且使用了mvc模式设计的一个Web框架它的主要目的是为了去简化传统的Servlet+JSP模式下的Web开发方式,其次Spring mvc 的整个架构设计,是对Java Web里面的mvc框架模式做了一些增强和扩展。

主要体现几个方面:
1.把传统MVC框架里面的Controller控制器做了拆分,分成了前端控制器DispatcherServlet后端控制器Controller。
2.把Model模型拆分成业务层Service和数据访问层Repository。
3.在视图层,可以支持不同视图,比如Freemark,vekocity,JSP等等。

所以Springmvc天生就是为了MVC模式而设计的,因此在开发MVC应用的时候会更加方便灵活。

Springmvc的整体工作流程:
        浏览器请求首先回去经过Springmvc里面的核心控制器叫DispatcherServlet他主要是把请求分发到对应的Controller里面,而Controller里面处理完业务逻辑之后,会返回一个ModelAndView,然后DispatcherServlet会去寻找一个或者多个ViewResolver的视图解析器找到ModelAndView指定的视图并且把数据展示到客户端。

 2.SpringMVC中的返回值

返回值类型:String、void、ModelAndView

1)字符串

Controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址,将资源发送给浏览器。如果想要发送数据需要在方法上加上@ResponseBody表示该Sring返回的是数据。

2)viod

返回值为void时,将经过视图解析武器,此时视图解析器将会使用拼接Controller的映射形成页面地址。

3)ModelAndView

ModelAndView是SpringMVC提供的一个对象,该对象也可以用作控制器方法的返回值。

该对象中有两个方法:

addObject():添加模型到该对象中。

setViewName():用于设置逻辑视图名称。

4)Objeck

Object表示数据,和视图无关,可以使用对象表示数据,对象有属性,属性就是数据。

5)对象数组

返回的是json数组 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/802338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

建木使用进阶-创建密钥管理

阿丹: 第一次我们进入建木,第一件事情就是配置我们相关的密钥。 解读: 在建木中我们可以进行创建密钥来对我们服务器等密码进行方便的管理。 注意: 登录的时候账号为:admin 密码为:123456 这是初始…

【javaSE】 数组的定义与使用

目录 数组的基本概念 为什么要使用数组 什么是数组 数组的创建及初始化 数组的创建 数组的初始化 动态初始化 静态初始化 注意事项 数组的使用 数组中元素访问 注意事项 遍历数组 数组是引用类型 初识JVM的内存分布 基本类型变量与引用类型变量的区别 再谈引用…

java自定义导出excel

导出Excel时候&#xff0c;表头需要自定义&#xff0c;只能自己重新写导出代码了 1、引入包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version> </dependency>2、工具…

优化 SQL 体验:五款 AI 驱动工具助力 SQL 查询

SQL AI 工具能够极大提高跟数据和数据库打交道人员&#xff08;e.g. 数据分析师、数据科学家、数据库管理员、开发者&#xff09;的效率和生产力&#xff0c;比如可以根据自然语言输入自动生成 SQL 查询&#xff08;非技术用户也能轻松访问和分析数据了&#xff01;&#xff09…

为公网SSH远程Ubuntu配置固定的公网TCP端口地址主图

文章目录 为公网SSH远程Ubuntu配置固定的公网TCP端口地址 为公网SSH远程Ubuntu配置固定的公网TCP端口地址 在上篇文章中&#xff0c;我们通过cpolar建立的临时TCP数据隧道&#xff0c;成功连接了位于其他局域网下的Ubuntu系统&#xff0c;实现了不同操作系统、不同网络下的系统…

Web端即时通讯技术(SEE,webSocket)

目录 背景简介个人见解被动推送轮询简介实现 长轮询&#xff08;comet&#xff09;简介实现 比较 主动推送长连接&#xff08;SSE&#xff09;简介实现GETPOST 效果 webSocket简介WebSocket的工作原理:WebSocket的主要优点:WebSocket的主要缺点: 实现用法一用法二 **效果** 比较…

指定的驱动器号对于分配不可用怎么办?

驱动器号是计算机上驱动器的字母标识符也叫做“盘符”&#xff0c;例如内部硬盘、光驱、SD卡和外部U盘在文件资源管理器中可以直接看到的标志&#xff0c;如我们平常所说的C盘、D盘、H盘等。如果硬盘丢失了驱动器号&#xff0c;您将无法直接访问其中保存的文件&#xff0c;并且…

【小白必看】Python词云生成器详细解析及代码实现

文章目录 前言导入所需库将存好的Excel词频表读取成字典循环处理每个词频Excel文件定义词云样式和生成词云图完整代码运行效果截图知识点 结束语 前言 本文介绍了如何使用Python编写代码来生成词云图。在生成词云图之前&#xff0c;我们需要导入一些必需的库&#xff0c;包括nu…

中断控制器的驱动解析

这里主要分析 linux kernel 中 GIC v3 中断控制器的代码(drivers/irqchip/irq-gic-v3.c)。 设备树 先来看下一个中断控制器的设备树信息&#xff1a; gic: interrupt-controller51a00000 {compatible "arm,gic-v3";reg <0x0 0x51a00000 0 0x10000>, /* GI…

Python(四十四)嵌套循环

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

【C++详解】——智能指针

目录 为什么需要智能指针 抛异常引发内存泄漏 内存泄漏 什么是内存泄漏&#xff0c;内存泄漏的危害 内存泄漏分类 检测内存泄漏常用工具 如何避免内存泄漏 智能指针的使用及原理 RAII 智能指针的原理 各类智能指针介绍 auto_ptr unique_ptr shared_ptr weak_ptr …

vue3-Cannot use ‘in‘ operator to search for ‘path‘ in undefined

在创建vue3的路由时&#xff0c;报了这样的错&#xff1a;Cannot use ‘in’ operator to search for ‘path’ in undefined&#xff0c;经过多次排查发现是我在路由文件里面用错了createWebHashHistory()方法&#xff0c;将它用成了 变量。 一、报错情况 二、报错原因及解…

Kepware Modbus驱动简介

1. Modbus驱动能够解决什么问题&#xff1f; 它是Modbus设备驱动的集合&#xff0c;为用户提供一种方便快捷的Modbus设备数采解决方案。 只需要通过简单的配置就可以将常见的例如Modbus TCP/IP Ethernet、RTU Serial 和 ASCII Serial等协议设备无缝连接到 HMI/SCADA、MES/His…

react-router-dom和react-router的区别

react-router-dom和react-router的区别 前言 在使用react-router-dom的时候&#xff0c;经常会和react-router搞混了&#xff0c;搞不清楚它们哪个跟哪&#xff0c;到底有什么关系&#xff0c;今天来总结一下。 结论 react-router-dom是在react-router的基础上开发的&#…

Mybatis-Plus学习笔记,包含mybatis-plus基本使用,各种插件使用等等

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. 文章目录 Mybatis-Plus笔记1、简介2、Mybatis-Plus Demo 程序3、Mybatis-Plus 常见注解4、Mybatis-Plus 条件构造器 Wrapper5、Mybatis-Plus 插件5.1、乐观锁插件5.2、分页插件5.3、逻辑删除插件…

Vue + Element-ui组件上传图片报错问题解决方案

在前端开发中&#xff0c;我们经常需要模拟网络请求以进行单元测试或开发调试。而在模拟网络请求时&#xff0c;我们常常会使用到MockXMLHttpRequest对象。MockXMLHttpRequest对象是一个用于模拟XMLHttpRequest对象的工具&#xff0c;它提供了一种简单的方式来模拟网络请求&…

【uniapp】实现买定离手小游戏

前言 最近玩了一个小游戏&#xff0c;感觉挺有意思&#xff0c;打算放进我的小程序【自动化小助手】里面&#xff0c;“三张押一张&#xff0c;专押花姑娘&#xff01;”&#xff0c;从三张卡牌&#xff0c;挑选一张&#xff0c;中奖后将奖励进行发放&#xff0c;并且创建下一…

【Linux线程】第一章||理解线程概念+创建一个线程(附代码加讲解)

线程概念 &#x1f335;什么是线程&#x1f332;线程和进程的关系&#x1f384;线程有以下特点&#xff1a;&#x1f333; 线程的优点&#x1f334; 线程的缺点&#x1f331;线程异常&#x1f33f;线程用途 ☘️手动创建一个进程&#x1f340;运行 &#x1f335;什么是线程 在L…

【需求响应DR】一种新的需求响应机制DR-VCG研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【技术架构】技术架构的演进

文章目录 前言1.名词解释(常见概念)1.1 应用&#xff08;Application&#xff09; / 系统&#xff08;System&#xff09;1.2 模块&#xff08;Module&#xff09; / 组件&#xff08;Component&#xff09;1.3 分布式&#xff08;Distributed&#xff09;1.4 集群&#xff08;…