Spring MVC 程序开发(1)
目录
- 1、什么是 SpringMVC
- 2、返回数据
- 2.1、返回 JSON 对象
- 2.2、请求转发
- 2.3、请求重定向
- 2.4、自定义返回的内容
1、什么是 SpringMVC
1、Tomcat 和 Servlet 分别是什么?有什么关系?
Servlet 是 java 官方定义的 web 开发的标准规范;Tomcat 是 Servlet 容器(遵循 Servlet 规范来实现的 Web 服务器),可以统一管理 Servlet (整个生命周期)。
2、SpringMVC 和 Web 服务器,Servlet 的关系?
SpringMVC 是内置的定制过的 Web 服务器,而 Web 服务器遵循 Servlet 规范。总的来说,SpringMVC 基于 Servlet 标准,又进一步封装了,然后提供给我们更方便的使用方式。因此,我们开发的内容是基于 SpringMVC 定义的 Web 开发标准。
MVC 是 Model View Controller 的缩写,它是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。
- Model(模型)是应用程序中用于处理数据逻辑的部分,通常负责在数据库中存取数据。
- View(视图)是应用程序中处理数据显示的部分,通常是依据模型数据创建的。
- Controller(控制器)是应用程序中处理用户交互的部分。
2、返回数据
2.1、返回 JSON 对象
1.@ResponseBody 注解的作用是将 Controller 的方法返回的对象,通过适当的转换器转换为指定的格式,然后写入到 response 对象的 body 区,通常用来返回 JSON 数据或者是 XML 数据。即将 Java 对象转换为 JSON 格式的数据,然后直接写在 HTTP response 的 body 中。@ResponseBody 返回的值如果是字符会转换成 text/html,如果返回的是对象会转换成 application/json返回给前端。@ResponseBody 可以用来修饰方法或者是修饰类,修饰类表示类中的所有方法都会返回 html 或者 json。
2. 当 Controller 类上方法都返回 JSON 数据时,需要注解 @Controller 和 @ResponseBody,此时,可以使用 @RestController来代替这两个注解。
2.2、请求转发
不返回 JSON 数据,有转发和重定向网页两种方式,都不能使用 @ResponseBody 注解,且返回值只能是 String,表示资源路径。
抓包的结果为:
2.3、请求重定向
抓包的结果为:
转发和重定向的区别:
- 请求重定向将请求重新定位到资源,请求转发是服务器端转发。
- 请求重定向地址发生变化,请求转发地址不发生变化。
- 请求重定向不存在原来的外部资源不能访问,请求转发有可能造成原来的外部资源不能访问(如果资源和转发的页面不在同一目录下,就会导致外部资源不能访问)
2.4、自定义返回的内容
相关文章:

Spring MVC 程序开发(1)
目录 1、什么是 SpringMVC2、返回数据2.1、返回 JSON 对象2.2、请求转发2.3、请求重定向2.4、自定义返回的内容 1、什么是 SpringMVC 1、Tomcat 和 Servlet 分别是什么?有什么关系? Servlet 是 java 官方定义的 web 开发的标准规范;Tomcat 是…...

PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】
今天尝试在pycharm上接入了本地部署的deepseek,实现了AI编程,体验还是很棒的。下面详细叙述整个安装过程。 本次搭建的框架组合是 DeepSeek-r1:1.5b/7b Pycharm专业版或者社区版 Proxy AI(CodeGPT) 首先了解不同版本的deepsee…...

Linux服务升级:Almalinux 升级 DeepSeek-R1
目录 一、实验 1.环境 2.Almalinux 部署 Ollama 3.Almalinux 升级 DeepSeek-R1 4.Almalinux 部署 docker 5. docker 部署 DeepSeek-R1 6.Almalinux 部署 Cpolar (内网穿透) 7.使用cpolar内网穿透 二、问题 1.构建容器失败 一、实验 1.环境 (1)…...

Linux操作系统5- 补充知识(可重入函数,volatile关键字,SIGCHLD信号)
上篇文章:Linux操作系统5-进程信号3(信号的捕捉流程,信号集,sigaction)-CSDN博客 本篇Gitee仓库:myLerningCode/l26 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 目录 一. 可重入…...

ctfshow刷题笔记—栈溢出—pwn61~pwn64
目录 前言 一、pwn61(输出了什么?) 二、pwn62(短了一点) 三、pwn63(又短了一点) 四、pwn64(有时候开启某种保护并不代表这条路不通) 五、一些shellcode 前言 这几道都是与shellcode有关的题,实在是…...
java23种设计模式-责任链模式
责任链模式(Chain of Responsibility Pattern)学习笔记 编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793 DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/145884039 🌟 模式定义 责任链模式是…...

新一代跨境电商ERP系统:从订单到发货的全流程自动化管理
随着全球电商市场的持续扩张,跨境电商卖家面临着多平台运营、国际物流、税务合规等复杂挑战。如何高效整合订单、库存、物流和财务数据,实现从客户下单到商品交付的无缝衔接,成为企业降本增效的关键。Zoho Books作为一款专为跨境商家设计的智…...

苹果廉价机型 iPhone 16e 影像系统深度解析
【人像拍摄差异】 尽管iPhone 16e支持后期焦点调整功能,但用户无法像iPhone 16系列那样通过点击屏幕实时切换拍摄主体。前置摄像头同样缺失人像深度控制功能,不过TrueTone原彩闪光灯系统在前后摄均有保留。 很多人都高估了 iPhone 的安全性,查…...
hive 面试题
Hive基础概念 1.1 Hive是什么? 基于Hadoop的数据仓库工具,支持类SQL(HiveQL)查询,底层转换为MapReduce/Tez/Spark任务。 核心功能:数据ETL、查询、分析;定位:OLAP(分析…...
VScode在windows10上使用clang-format
用途:自动调整代码格式,如缩进等。 clang-format官方文档:ClangFormat — Clang 21.0.0git documentation 前提:有一个.clang-format文件 下载LLVM:https://github.com/llvm/llvm-project/releases,将可…...
AWS API Gateway灰度验证实现
在微服务架构中,灰度发布(金丝雀发布)是验证新版本稳定性的核心手段。通过将小部分流量(如 10%)导向新版本服务,可以在不影响整体系统的情况下快速发现问题。AWS API Gateway 原生支持流量按比例分配功能,无需复杂编码即可实现灰度验证。本文将详细解析其实现方法、最佳…...
【每日八股】MySQL篇(三):索引(上)
目录 MySQL 为什么使用 B 树来做索引,它的优势是什么?特性和定义B 树和 B 树的对比拓展:既然 B 树相较于 B 树优势如此之大,为什么 nosql 的 MongoDB 底层仍采用 B 树而不是 B 树? 使用 B 树做索引的优势补充ÿ…...

在Pycharm中将ui文件修改为py文件
在Pycharm中将ui文件修改为py文件 有些时候,我们需要把QTDesigner生成的.ui文件修改为.py文件 在一些教程中,通常使用cmd打开终端修改,或者是有一些人写了一些脚本来修改 这里我们可以使用pycharm来快速的修改 首先,我们在pyc…...
看视频学习方法总结
以下是提高教学视频吸收率的系统性方法,结合认知科学原理和实际学习场景,帮助您最大化学习效果: 一、观看前的黄金准备阶段 60秒快速扫描法 用1分钟快速浏览视频目录、章节标题和简介,建立知识框架。荷兰伊拉斯姆斯大学实验表明&…...
Matlab 大量接单
分享一个matlab接私活、兼职的平台 1、技术方向满足任一即可 2、技术要求 3、最后 技术方向满足即可 MATLAB:熟练掌握MATLAB编程语言,能够使用MATLAB进行数据处理、机器学习和深度学习等相关工作。 机器学习、深度学习、强化学习、仿真、复现、算法、…...
《深度剖析:生成对抗网络中生成器与判别器的高效协作之道》
在人工智能的前沿领域,生成对抗网络(GAN)以其独特的对抗学习机制,为数据生成和处理带来了革命性的变革。生成器与判别器作为GAN的核心组件,它们之间的协作效率直接决定了GAN在图像生成、数据增强、风格迁移等众多应用中…...
Android6到Android15版本新增的功能和api
Android6到Android15版本新增的功能和api 文章目录 Android6到Android15版本新增的功能和api一、前言二、Android6 后的版本迭代1、Android 6.0(Marshmallow,API 级别 23)新增功能重要 API 2、Android 7.0(Nougat,API …...
【现代Web布局与动画技术:卡片组件实战分享】
📱 现代Web布局与动画技术:卡片组件实战分享 🚀 引言 🌟 在过去的开发过程中,我们共同实现了一个功能丰富的卡片组件,它不仅美观,还具有交互性和响应式设计。这篇文章将分享这个组件背后的技术…...
计算机网络之传输层(传输层提供的服务)
一、可靠的数据传输 传输层提供可靠的数据传输服务,确保数据在传输过程中不丢失、不重复、不乱序,并且能够被正确接收。这通常通过面向连接的协议(如TCP)来实现,TCP通过确认、重传、序号等机制来保证数据传输的可靠性…...
FPGA开发,使用Deepseek V3还是R1(1):应用场景
以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...