Spring Boot/MVC
一、Spring Boot的创建
1.Spring Boot简化Spring程序的开发,使用注解和配置的方式开发


springboot内置了tomact服务器
tomact:web服务器,默认端口号8080,所以访问程序使用8080

src/main/java:Java源代码
src/main/resource:静态资源或配置文件,存放前端代码(js,css,html)
src/test/java:测试代码源代码
target:编译后的文件路径
pom.xml:maven配置文件
浏览器输入网址
通过ip地址127.0.0.1定位网络上的一台计算机(本机)
通过端口号找到计算机上对应的进程,本机正在运行的8080端口的程序
/helle 请求资源(数据)的位置
服务器
接受浏览器发送的信息,在服务器上找到相应的资源(数据)
404:访问的资源不存在(url错误,注解错误)
500:服务器内部错误(程序错误)
无法访问此网站:可能Tomcat启动失败,服务未成功启动,ip/端口写错
二、Spring Web MVC
1.MVC(Model View Controller)
是软件工程中的一种软件架构设计模式,把软件系统分为模型,视图,,控制器三个部分
View:与浏览器进行交互,展示数据的资源
Mode:应用程序的主体部分,处理业务逻辑处理数据
Controller:分发器,用来连接视图和模型
SpringMVC是一个Web框架,是对MVC思想的具体实现
SpringBoot只是实现SpringMVC的其中一种方式,通过2,添加SpringWeb来实现web功能
2.如何通过浏览器和用户程序进行交互
1)建立连接
用户(浏览器)和JAVA程序连接起来,(访问一个地址,能够调用Spring程序)
常使用的注解
@RequestMapping
实现URL路由映射,浏览器连接程序
当用户访问⼀个 URL 时, 将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射
可以修饰类也可以修饰方法,访问地址:...类路径+方法路径
即支持Get请求,也支持Post请求
可以显示指定接收Post请求


2)请求:
用户请求时会带一些参数,在程序中要实现获取参数的功能
如何传递参数到后端以及后端如何接收
1)传递单个/多个参数

使用浏览器发送请求并传参
springMVC会根据方法发的参数名,找到对应的参数,赋值给方法
url中?后name对程序应方法中的参数name必须一致
参数可能为空的数据,使用包装类型(Integer..)

传递多个参数,就是程序中方法有多个形参,请后端参数进行匹配时,通过参数名进行匹配
2)传递对象
参数较多时,可以把这些参数封装成一个对象


使用postman测试接口

3)参数重命名
保证前后端对应参数能匹配上
@RequestParam
url路径应该写参数nowtime现在可以使用time


使用注解@RequestParam请求参数必须和注解声明的名称一致,而且参数成为必传参数feibichuan
可以修改为参数为非必传参数

4)传递数组
MVC可自动绑定数组参数的赋值



5)传递集合
集合`参数和数组类似 ,默认情况下请求中参数名相同的多个值封装到数组,要使用@RequestParam绑定参数关系

6)传递JSON数据
JSON:JavaScript对象表示法,一种数据格式,使用文本表示一个对象的信息,使用键值对表示数据
@RequestBody注解.请求正文


3)响应:
执行业务逻辑后,把执行结果返回给用户
,
相关文章:
Spring Boot/MVC
一、Spring Boot的创建 1.Spring Boot简化Spring程序的开发,使用注解和配置的方式开发 springboot内置了tomact服务器 tomact:web服务器,默认端口号8080,所以访问程序使用8080 src/main/java:Java源代码 src/main/resource:静态资源或配置文件,存放前端代码(js,css,html) s…...
由于请求的竞态问题,前端仔喜提了一个bug
在平常的开发过程中,你可能会遇到这样一个bug。 测试:我在测一个输入框搜索的功能时,告诉你通过输入框输入的内容,和最终通过输入内容搜索出来的结果对不上。 前端:我是通过调用后端接口拿到的数据,这明显…...
【Day25 LeetCode】贪心Ⅲ
一、贪心Ⅲ 1、加油站 134 这道题直接想法是采用二重循环暴力搜索,简单粗暴但是会超时,是因为以每个点为起点最坏的情况可能都要遍历完全部的序列,有大量重复的操作,那有没有优化的地方呢?有一个结论:如果…...
蓝桥杯练习日常|递归-进制转换
未完待续,,,,,, 目录 蓝桥云课760数的计算 一、递归 题目: 我的解题代码: 二、进制转换 任意进制转十进制: 十进制转换为其他进制: 进制蓝桥杯题目…...
AI Agent:深度解析与未来展望
一、AI Agent的前世:从概念到萌芽 (一)早期探索 AI Agent的概念可以追溯到20世纪50年代,早期的AI研究主要集中在简单的规则系统上,这些系统的行为是确定性的,输出由输入决定。随着时间的推移,…...
《SwinIR:使用Swin-Transformer图像恢复》学习笔记
paper:2108.10257 GitHub:GitHub - JingyunLiang/SwinIR: SwinIR: 使用 Swin Transformer 进行图像修复 (官方仓库) 目录 摘要 1、Introduction 2、Related Work 2.1 图像修复 2.2 视觉Transformer…...
如何在Nginx服务器上配置访问静态文件目录并提供文件下载功能
引言 在搭建网站的过程中,我们经常需要让访客通过URL直接访问或下载存储在服务器特定目录下的静态文件。本文将详细介绍如何在Nginx服务器环境中配置一个名为"download"的文件目录,以便用户能够通过浏览器访问并下载其中的手册和其他文档。 …...
ansible自动化运维实战--script、unarchive和shell模块(6)
文章目录 一、script模块1.1、功能1.2、常用参数1.3、举例 二、unarchive模块2.1、功能2.2、常用参数2.3、举例 三、shell模块3.1、功能3.2、常用参数3.3、举例 一、script模块 1.1、功能 Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件,其提供了一…...
理解深度学习pytorch框架中的线性层
文章目录 1. 数学角度: y W x b \displaystyle y W\,x b yWxb示例 2. 编程实现角度: y x W T b \displaystyle y x\,W^T b yxWTb3. 常见错误与易混点解析4. 小结参考链接 在神经网络或机器学习的线性层(Linear Layer / Fully Connect…...
电路研究9.2——合宙Air780EP使用AT指令
这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。 软件的开发方式: AT:MCU 做主控,MCU 发 AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑…...
Qt数据库相关操作
目录 一、前言 二、类与接口介绍 1.连接管理类 2.数据操作类 3.数据模型类 4.其它类 三、主要操作流程 1.示例 2.绑定参数 3.事务操作 一、前言 要在Qt中操作数据库,首先要安装对应的数据库,还要确保安装了Qt SQL模块。使用MySQL时࿰…...
2025-01-22 Unity Editor 1 —— MenuItem 入门
文章目录 1 Editor 文件夹2 MenuItem3 使用示例3.1 打开网址3.2 打开文件夹3.3 Menu Toggle3.4 Menu 代码复用3.5 MenuItem 激活与失活4 代码示例 1 Editor 文件夹 Editor 文件夹是 Unity 中的特殊文件夹,Unity 中所有编辑器相关的脚本都需要放置在其中…...
解锁C#编程新姿势:Z.ExtensionMethods入门秘籍
一、引言 在 C# 的开发旅程中,我们常常会遇到各种重复性高、复杂度低的任务,这些任务虽然基础,但却占据了我们大量的开发时间。比如处理字符串时,经常需要进行非空判断、格式转换;操作日期时间时,计算某个…...
不使用 JS 纯 CSS 获取屏幕宽高
前言 在现代前端开发中,获取屏幕的宽度和高度通常依赖于 JavaScript。然而现代 CSS 也可以获取到屏幕的宽高,通过自定义属性(CSS Variables)和一些数学函数来实现这一目标。本文将详细解析如何使用 CSS 的 property 规则和一些数…...
Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南
Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南 node-gyp Node.js native addon build tool [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/no/node-gyp 项目基础介绍及主要编程语言 Node.js NativeAddon 构建工具(node-gyp…...
【ARTS】【LeetCode-704】二分查找算法
目录 前言 什么是ARTS? 算法 力扣704题 二分查找 基本思想: 二分查找算法(递归的方式): 经典写法(找单值): 代码分析: 经典写法(找数组即多个返回值) 代码分析 经典题目 题目描述: 官方题解 深入思考 模版一 (相错终止/左闭右闭) 相等返回情形…...
Vue.js 配置路由:基本的路由匹配
Vue.js 配置路由:基本的路由匹配 在 Vue.js 应用中,Vue Router 是官方提供的路由管理器,用于在单页应用(SPA)中管理不同的视图。通过配置路由,应用可以根据 URL 的变化展示相应的组件。 基本的路由匹配是…...
鸿蒙(HarmonyOS)Json格式转实体对象(2)
下面是一个复杂的json体。 怎么把json转实体类,首先要定义类 import List from ohos.util.List export class InfoModel{msg: stringcars: List<Cars>code: numberpermissions: List<string>roles: List<string>user: User}class Cars{createBy:…...
代码随想录 栈与队列 test 6
239. 滑动窗口最大值 - 力扣(LeetCode) 每次只取窗口中最大值,这个最大值可能在后面的滑动中保持不变,而比最大值小的值且在最大值之前出现的值没必要保留,因此可以通过单调队列利用这个特性。 这个单调队列具有如下…...
动手学深度学习2025.1.23
一、预备知识 1.数据操作 (1)数据访问: 一个元素:[1,2] //行下标为1,列下标为2的元素 一行元素:[1,:] //行下标为1的所有元素 一列元素:[:,1] //列下标为1的所有元素 子区域:[…...
Proxy最佳实践:企业级C++项目中如何正确使用多态库
Proxy最佳实践:企业级C项目中如何正确使用多态库 【免费下载链接】proxy Proxy: Next Generation Polymorphism in C 项目地址: https://gitcode.com/gh_mirrors/pr/proxy 在当今的企业级C开发中,运行时多态性是构建可扩展、可维护系统的关键。传…...
Multisim新手必看:用差分放大电路课设,手把手教你搞定仿真与波形分析
Multisim新手必看:用差分放大电路课设,手把手教你搞定仿真与波形分析 第一次打开Multisim时,满屏的元器件和复杂的参数设置确实容易让人望而生畏。记得我大三做模电课设时,光是找齐差分放大电路需要的元件就花了半小时,…...
C/C++调试神器:5分钟搞定backtrace打印调用栈(附完整代码)
C/C调试实战:5分钟集成智能调用栈追踪工具 当你的C/C程序在深夜突然崩溃,控制台只留下一行"Segmentation fault"时,那种绝望感每个开发者都体会过。传统的调试方式往往需要反复加日志、断点跟踪,效率低下。本文将带你用…...
用STM32CubeMX和TMC260驱动步进电机,这份PWM频率配置指南帮你避开新手常见坑
STM32CubeMX与TMC260步进电机驱动实战:PWM频率配置的黄金法则 第一次用STM32CubeMX配置TMC260驱动步进电机时,我盯着屏幕上那一堆定时器参数发愣——Prescaler、Period、Counter Mode...这些看似简单的数字背后,藏着让电机平稳运转或是疯狂抖…...
告别直播回放获取难题!用douyin-downloader实现高效内容管理的3个创新方法
告别直播回放获取难题!用douyin-downloader实现高效内容管理的3个创新方法 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and bro…...
Graphormer多场景教程:学术论文配图生成、课程教学演示、项目原型开发
Graphormer多场景教程:学术论文配图生成、课程教学演示、项目原型开发 1. 认识Graphormer模型 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。这个模型在OGB、…...
CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验
CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验 如果你和我一样,每天都要和Markdown文档打交道,那你肯定知道那种感觉:面对一个空白文档,脑子里有想法,但就是敲不出满意的句子࿱…...
让大模型乖乖听话:新手程序员必备的Prompt写作秘籍(收藏版)
本文探讨了如何通过精心设计的Prompt让大模型按照要求思考,提升任务执行的准确性。作者提出了一个有效的Prompt结构,包括角色/任务定义、核心原则、上下文处理、CoT(Chain of Thoughts)思考链、输出规范和Few-Shot示例等模块。文章还介绍了如何借助模型生…...
忍者像素绘卷代码实例:Python调用Z-Image-Turbo-rinaiqiao模型避坑指南
忍者像素绘卷代码实例:Python调用Z-Image-Turbo-rinaiqiao模型避坑指南 1. 环境准备与快速部署 在开始使用忍者像素绘卷之前,我们需要先搭建好Python环境并安装必要的依赖库。这个模型基于Z-Image-Turbo深度优化,特别适合生成16-Bit复古风格…...
数据库运维与数据安全:备份恢复、日志分析与故障排查
下面的内容大家根据实际情况,公司的业务还有重点择机选择,不是所有的蓝翔都有挖掘机 如果说之前的索引优化是“飙车”,那么今天的主题就是“系安全带”和“买保险”。 在运维的世界里,没有“如果”,只有“万一”。当…...
