web后端-请求响应

news2024/11/16 1:54:29

概述

我们之前在Spring写的
Java类,因为没有继承任何的接口
所以tomcat其实是不识别的,也不能直接运行
在这里插入图片描述
但是tomcat识别JavaEE的一项规范-Servlet,因为tomcat就相当于一个Servlet容器

SpringBoot底层提供了一个DisPatcherServlet类(实现了servlet接口)
称为前端控制器
在这里插入图片描述

我们把接收到的数据(浏览器发送到服务端的)封装到一个HttpServletRequest对象
而服务器发送到浏览器的对象封装到HttpServletResponse

这种称为
1.BS架构-用户只需要一个浏览器就和服务端对应
全部数据都在服务器
2.还有一种为CS架构(不同系统客户端是不同的)
客户端和服务端,比如qq,需要下载指定app的就成为CS架构
有的数据在服务器有点在本地

对于我们来说
最终要的就是Controller程序
在这里插入图片描述
学习路线

在这里插入图片描述

请求

在这里插入图片描述

Postman

由于前后端分离开发的方式
我们我们后端程序员写完程序员,没有前端页面,需要测试的时候
不好测试,so需要一个工具
这个工具就是postman
在这里插入图片描述
postman可以发送各种类型的请求来进行测试
在这里插入图片描述

测试界面
在这里插入图片描述
1.输入url
2.可以在左侧选择请求方式
3.下面有各种请求头,请求体的编写
4.点击send
5.下方的respone会返回测试的结果
在这里插入图片描述

简单参数

我们在请求的时候发送两个参数
1.name2.age
现在我们看服务端怎么获取这个请求参数

原始方式

通过httpServletRequest对象
使用getParameter方法获取对应参数
在这里插入图片描述
controller里类面
形参加个httpServletRequest对象来获取参数
最后return是返回给浏览器的数据
而内部的操作是在服务端运行的
在这里插入图片描述
由于我们接收的都是字符串所以还要类型转换
在这里插入图片描述
这种方式比较繁琐

SpringBoot方式

而在SpringBoot中
我们只需要在形参声明我们想传的形参即可(保证 请求参数名和形参变量名一致即可)

在这里插入图片描述

假如是post请求的话,请求参数是在请求体中的
也是保证参数名和形参名称一致即可
在这里插入图片描述
在这里插入图片描述

参数名和形参名不对应

在这里插入图片描述
就会接收不到参数
会显示null

如果你就是想用一个别的形参名接收对应参数
可以
在对应形参名前加一个注解
@RequParam(name=“参数名”)形参类型 形参名

这样就ok如下图
在这里插入图片描述
注意:有该注解的参数必须传递
不传递会报错,或者将对应的required属性换为false
在这里插入图片描述

小结

在这里插入图片描述

实体参数

简单参数需要一个个写
如果传参不止两个,如果是20个呢,那就太麻烦了
所以
我们封装一个实体类,来用对象传参,对象的属性就是接收参数的
也是需要保持属性名字和参数名字保持一致才能接收
在这里插入图片描述
浏览器端-get
在这里插入图片描述
服务器端-实体
在这里插入图片描述

复杂的实体参数-传的参数是一个对象这种(参数里面还有属性)
在这里插入图片描述
写完pojo类和user类和controller类
进行一个请求的发送

postman-复合的话里面就 对象.属性这样传参
在这里插入图片描述
idea-服务端
在这里插入图片描述

数组集合参数

像这种兴趣爱好可能有多个就需要传多个参数
实际上就是一个但是需要不同的符号表达太麻烦
所以可以数组来表达

先说数组形式吧
请求端-请求参数名相同且请求参数为多个(多个等于)
在这里插入图片描述
服务端
1.数组形式接收
在这里插入图片描述
在这里插入图片描述

2.集合传参
在这里插入图片描述
在这里插入图片描述
注意:封装到集合需要加一个注解 @RequestParam 因为它是默认封装到数组的,需要这个注解才能封装到集合里
在这里插入图片描述

日期参数

在这里插入图片描述
传参的格式要与服务端规定的格式相同
在这里插入图片描述
这个服务端
需要@DateRimeFormat 注解来规定传参的格式
在这里插入图片描述

json参数

postman传参

因为json是需要写到请求体中的

设置请求体

在这里插入图片描述
选择json和raw
在这里插入图片描述

服务端接收参数

一般都是以实体参数的形式接收(对象)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

路径参数

浏览器端发送请求
还要用@PathVariable 来定义形参,并且形参名和对于的请求对于的名称对应
在这里插入图片描述

服务端接收路径参数
在这里插入图片描述

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

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

相关文章

C++入门篇(一)

目录 一、C关键字汇总二、命名空间2.1 命名空间的定义2.2 命名空间的使用 三、C的输入和输出四、缺省参数五、函数重载5.1 函数重载的概念5.2 C支持函数重载的原理是什么? 一、C关键字汇总 在C98标准下,C一共有63个关键字,C语言一共有32个关…

第二章 设计模式七大原则

文章目录 前言一、单一职责 🍧1、单一职责原则注意事项和细节2、代码实现2、1 错误示例2、2 正确示例但有缺陷2、3 最终形态 二、接口隔离原则 🥩1、代码示例 三、依赖倒转原则 🥥1、代码示例2、依赖关系传递的三种方式 四、里氏替换原则 &am…

【C 语言】习题 1 - 用代码将二进制转换为十进制

目录 1、缘起 2、算法描述 3、代码清单 4、相关知识点 5、总结 1、缘起 我以前计算二进制转换为十进制的时候,喜欢用笔算,或者电脑在手旁的时候,用电脑自带的程序员计算器进行计算。今天兴起,突然想写一个代码用于计算…

Bootstrap框架实战:轻松搭建响应式网站

Bootstrap 是一款非常受欢迎的前端开发框架,它可以帮助我们轻松地搭建响应式网站。在这篇文章中,我们将介绍如何使用 Bootstrap 框架创建一个简单的响应式网站,并了解其核心概念和组件。 1. Bootstrap 简介 Bootstrap 是由 Twitter 公司的开…

字节码插桩:从分析class文件结构开始

作者:小马快跑 Class字节码 Java 能做到 一次编译,到处运行,主要就是靠 class字节码 文件,也就是 java 文件经过编译之后 .java -> .class,然后再被 JVM 虚拟机加载。其实,不仅是 java 语言&#xff0c…

每日做题总结——day02

目录 字符串处理函数,strcpy,strcat 数组指针 函数缺省值 初始化列表​编辑 友元函数 new与delete 静态成员变量 new与构造函数 delete与析构函数 拷贝构造函数的特点 常成员函数 初始化列表 编程题 字符串中找出连续最长的数字串 数组中超过…

字节的面试,你能扛住几道?

C , Python 哪一个更快? 读者答:这个我不知道从哪方面说,就是 C 的话,它其实能够提供开发者非常多的权限,就是说它能涉及到一些操作系统级别的一些操作,速度应该挺快。然后 Python 实现功能还…

从数据到应用 Web3不再纸上谈兵

继宣布拨款5000万港元加速推动Web3生态圈发展后,香港再次明确对Web3产业创新的支持。近日,香港Web3协会正式成立,创立Web3Hub基金,“东方之珠”正在大力推进第三代互联网的生态建设。 不仅仅是政策红利,ChatGPT等人工…

Web服务器配置(Tomcat)【Centos】

Tomcat 是一个轻量化服务器,理论上支持 20,000 个用户 LNMP:Linux Nginx MySQL LTMP:Linux Tomcat MySQL 1.Apache Tomcat 从版本7开始,若仅仅只需要部署HTML静态页面,Apache就可以完全够用 查看Apache是否安装 rpm -…

Ajax的特性以及用法

一、什么是Ajax 1、jQuery的Ajax ①:get方法​编辑 ②:post方法 ③:Ajax(这个重要,jQuery的ajax最常用) PS:一定要注意,数据类型是 json !!! …

google breakpad中minidump_stackwalk的编译(Windows)

接上一篇的内容: breakpad编译指南(Windows)_我的胖是因为太膨胀的博客-CSDN博客 1、获取 googletest 放进 breakpad/src 目录下,并把目录名重命名为testing git clone https://github.com/google/googletest.git 如下图 2、把…

ROS2安装教程(virtualbox7.0.6+ROS2)

整个过程分两步:先安装Virtualbox,再安装ROS2 一、安装virtualbox7.0.6 网址:https://www.virtualbox.org/wiki/Downloads 问题1 安装时报错:缺少python core 、win32api依赖(下图网上拷贝的图,版本忽略…

这份完整WhatsApp营销方案请收好!

WhatsApp是什么? WhatsApp是一种跨平台的即时通讯应用程序,可以在手机、平板电脑和电脑上使用。它允许用户发送文字消息、语音消息、图片、视频和文件等内容,同时还可以进行语音通话和视频通话。 WhatsApp拥有多种功能,包括但不…

Windows下通过CMake编译hiredis及应用

1、 在下载的redis-6.2.12.tar.gz的压缩包中,解压后有个deps文件夹,里面有个hiredis文件夹,是我们访问redis的C接口,需要我们手动编译后才能使用。(redis: https://redis.io/download/) 2、打开CMake软件&…

日本PSE认证日本的電気用品安全法METI备案

日本的電気用品安全法(PSE认证)法规要求日本的采购商在购进商品后一个月内必须向日本METI注册申报,并必须将采购商名称或ID标在产品上,以便在今后产品销售过程中进行监督管理,完成后将获得電気用品製造事業届出書&…

全球化背景下,如何利用内容营销促进跨境电商业务增长

随着全球跨境电商市场的迅速发展,越来越多的企业开始将注意力转向跨境电商。然而,随着竞争的激烈化,企业不再能够仅仅依靠产品本身来吸引消费者的注意。因此,内容营销成为了跨境电商企业在吸引、留住消费者方面的关键。在这篇文章…

【Spring】— Spring AOP

目录 一、Spring AOP简介1.什么是AOP2.AOP术语 二、AspectJ开发1.基于XML的声明式AspectJ1.1 配置切面1.2 配置切入点1.3 配置通知 2.基于注解的声明式AspectJ 一、Spring AOP简介 1.什么是AOP AOP的全称是Aspect-Oriented Programming,即面向切面编程(…

芴甲氧羰酰基-氨基-聚乙二醇-巯基吡啶Fmoc-NH-PEG-OPSS

修饰性PEG芴甲氧羰基-氨基-聚乙二醇-巯基吡啶Fmoc-NH-PEG-OPSS是保护氨基的PEG衍生物之一 结构式: 芴甲氧羰酰基-氨基-聚乙二醇-巯基吡啶Fmoc-NH-PEG-OPSS聚乙二醇化可以提高聚乙二醇分子的稳定性,降低其免疫原性,仅用于科研实验。 FMOC-NH…

骨传导风靡蓝牙耳机市场 AI赋能有望打破行业技术桎梏

一、骨传导耳机行业概述 骨传导耳机是运用骨传导技术应用制造的耳机,听到的大部分声音都是声波经过空气到达骨膜振动进而将声音传入内耳,另一种方式是声波通过骨震动可以直接传至内耳。骨传导耳机可分为骨传导扬声器技术应用耳机、骨传导麦克风技术应用…

关于比较中设置极大值,常设置的0x3f3f3f3f

无穷大常量 int型变量的取值范围&#xff1a;[-2^31, 2^31 - 1] -> [-2147483648, 2147483647] 0x7fffffff 2147483647 (2^31 - 1) (1 << 31) - 1 0x3fffffff 1073741823 (2^30 - 1) (1 << 30) - 1 0x3f3f…