web实操5——http数据详解,request对象功能
http请求数据
现在我们浏览器f12的那些是浏览器给http格式数据整理之后便于我们阅读的。
原始的http格式信息:
就是按照一定格式和符号的字符串:
请求行:格式如下图
请求头:一个个key,value数据,用,分割多个,是客户端想给服务端说的一些话,服务器可以来解析这些信息。key是固定的,值是不一样的。
请求空行:就是一个空行,用来分隔请求头和请求体的作用。
请求体:get方式没有请求体,换成post方式有,就是请求的一些参数数据。

请求行

请求头
请求头还有很多,后面学更多才能知道
先解释一下下图的几个常见的请求头:


host:请求的主机是localhost
User-Agent:服务器根据浏览器不同做不同的处理
Accept:我这个浏览器可以接收你给我什么样的响应的信息格式,*/*是什么格式都可以
language:我浏览器可以支持的语言环境
encoding:我可以接收的压缩格式
connection:我的连接还活着,活着表示连接可以被复用,http1.1是可以被复用的,1.0的这里应该是断开的值。
**referer:**比较重要,告诉服务器我这个请求从哪来。在早期很有用,那时候版权意识不强,现在用的不多了。
防盗链,统计:

请求体
get请求没有请求体

request和response的原理


request的继承体系
实现类RequestFacade是由tomcat创建的。

request的功能
http格式的数据由四部分构成:
请求行
请求头
请求体
request的功能:

获取请求消息数据
获取请求行数据

代码演示:
获取请求头数据

代码演示:

refer演示:

response的意思先不解释,先这么写:

获取请求体数据
字符数据:username=“张三”
字节数据:上传文件,图片,视频
所以获取流对象有两种流,一种是字节流,一种是字符流。

代码演示字符输入流:




其他功能:
获取请求参数通用方式
上面方法常用的就这三个:其余的都不是很常用



基于上面那些,又有一些方法更方便使用request对象,这些都很常用:

代码举例:
中文乱码问题:
举例:


乱码了:

但是使用get方式,就不会乱码了。
说明:
如果是tomcat8及其以上版本,get方式不会乱码了,tomcat内部帮解决完了。
原因:
get方式参数是在url里面的,post方式参数通过request.getParameter(“username”)获取,内部通过是是流来获取的参数的值,所以需要在get获取之前设置一下流的编码:

页面上是什么编码,这边就改成什么编码:

总结:不管get,post直接都在第一行写上就行

请求转发
一种在服务器内部的资源跳转方式.
情景:
aservlet里面的功能在bservlet里面实现,所以相当于aservlet里做了一部分后,跳转到bservlet。
就可以使用请求转发完成。

举例:


共享数据
情景:
aservlet期望发送一些数据给bservelt,数据怎么通信。
域:范围的意思
request域:
代表一次请求的这个范围。基本就在转发的时候用,a调用b,就在一次请求的这个范围内。
a在里面用request存储了一些数据(转发之前存储),由于request对象的范围包括b,所以b可以获得这个数据。

举例:

获取ServletContext
今天先看怎么获取,不说获取后的功能怎么用。

举例:

登录案例
相关文章:
web实操5——http数据详解,request对象功能
http请求数据 现在我们浏览器f12的那些是浏览器给http格式数据整理之后便于我们阅读的。 原始的http格式信息: 就是按照一定格式和符号的字符串: 请求行:格式如下图 请求头:一个个key,value数据,用,分割…...
C# 如何动态加载程序集
程序集的加载,默认是从当前目录下查找,如果当前目录查找不到,然后再去系统目录中查找,依然查找不到就会从环境变量中查找,如果依然找不到,则会抛出一个异常 FileNotFoundException。 托管代码中࿰…...
前端基础的讲解-JS(10)
作用域链 通过上节作用域我们知道,当我们声明一个函数时,程序会生成一个独立的作用域,如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据 内部函数可以访问外部函数变量 的这种机制,用链…...
JNI整理总结
JNI JNI基础 JNI基础 JNI,java native interface,即java本地接口,是java调用本地化方法的接口,是为java编写本地方法,为jvm嵌入本地应用程序的标准化接口。首要目标是在给定的平台上采用java通过JNI调用本地化方法&am…...
aws中AcmClient.describeCertificate返回值中没有ResourceRecord
我有一个需求,就是让用户自己把自己的域名绑定我们的提供的AWS服务器。 AWS需要验证证书 上一篇文章中我用php的AcmClient中的requestCertificate方法申请到了证书。 $acmClient new AcmClient([region > us-east-1,version > 2015-12-08,credentials>[/…...
Spring Task详细讲解
✨Spring Task简介 Spring Task 是 Spring 提供的轻量级定时任务工具,也就意味着不需要再添加第三方依赖了,相比其他第三方类库更加方便易用。可以按照约定的时间自动执行某个代码逻辑。 使用场景: 信用卡每月还款提醒银行贷款每月还款提醒…...
C++初阶 --- 类和对象(1)
类和对象(1) 一、类的相关内容1.访问限定符2.class关键字与struct关键字的区别3.类域 二、this指针三、成员函数存放在哪里?1. 函数的存放位置2. 练习题 一、类的相关内容 1.访问限定符 (1)C⼀种实现封装的⽅式&…...
《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接
《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接 《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接基于 TCP 的半关闭单方面断开连接带来的问题套接字和流针对优雅断开的 shutdown 函数为何需要半关闭?基于半关闭…...
Anaconda 和 conda 是什么关系?就像 pip 和 python 一样吗
Anaconda 和 conda是 Anaconda Distribution 还是 Miniconda Anaconda 和 conda Anaconda 和 conda 之间的关系有点类似于 pip 和 Python,但又有所不同。 Anaconda 是一个数据科学和机器学习的发行版,它包含了 Python、conda 以及许多预装的库和工具&am…...
「数据治理」核心专业术语解释!
数据治理就是指在一定的组织范围内,依托制度法规、标准规范、应用实践和支撑技术对数据进行全生命周期的数据确权、质量管理、安全控制、隐私保护、开放共享、交易流通和分析处理。数据治理的目标是为了提高数据的可用性、安全性、流通性,激活数据资源…...
Mac Nginx 前端打包部署
安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装Nginx brew install nginx nginx相关命令 nginx启动命令:nginx nginx -s reload #重新加载配置 nginx -s reopen #重启 nginx -s stop #…...
乳腺癌诊断分析——基于聚类分析实现
一、研究背景 乳腺癌属于恶性肿瘤,在早期发现后需要及早将病变组织切除,而且术后还要化疗和放射等辅助治疗,能够抑制癌细胞的扩散和增长。 二、研究目的 研究乳腺癌病人的患病特征通过聚类分析方法对特征进行分类通过上述聚类结果对乳腺诊…...
Ubuntu 22.04 安装配置opencv
OpenCV下载:https://opencv.org/releases/ 编译与安装 安装cmake OpenCV需要使用cmake进行编译 sudo apt-get install cmake安装依赖 sudo apt-get install build-essential pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev lib…...
【软考】系统架构设计师-计算机系统基础(3):嵌入式系统
嵌入式系统:嵌入式处理器、相关支撑硬件、嵌入式OS、支撑软件以及应用软件 嵌入式系统特征:专用性强、技术融合、软硬一体软件为主、通用计算机资源少,... 分层(5层):硬件层 → 抽象层 → 操作系统层 → 中间件层 →…...
实测运行容器化Tomcat服务器
文章目录 前言一、拉取Tomcat 9.0镜像二、运行容器化Tomcat服务器三、访问Tomcat官网首页测试 总结 前言 运行容器化Tomcat服务器,首先确保正确安装docker,并且已启动运行,具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配…...
致敬苹果的国产手机,只会失去更多市场,iPhone一骑绝尘!
近期诸多国产手机品牌纷纷发布旗舰手机,随着这些旗舰手机的发布,可以看出他们在进一步致敬苹果--实质就是模仿苹果的设计,如此做的结果恐怕是得不偿失,将导致国产手机损失更多市场。 致敬苹果最为直接的当属手机外壳了,…...
《MYSQL45讲》kill不掉的线程
kill query 线程id :终止这个线程正在执行的语句 kill connection 线程id :关闭这个线程的连接,也会先停止这个线程正在执行的语句。这个connection可以缺省。 本文讨论的情况是:使用了kill命令,却没有断开连接,show processli…...
单体架构 IM 系统之 Server 节点状态化分析
基于 http 短轮询模式的单体架构的 IM 系统见下图,即客户端通过 http 周期性地轮询访问 server 实现消息的即时通讯,也就是我们前面提到的 “信箱模型”。“信箱模型” 虽然实现非常容易,但是消息的实时性不高。 我们在上一篇文章(…...
java xml 文本解析
示例文本 <Message><MessageName>time_request</MessageName><Timestamp>20220217165432906359</Timestamp><Body><EQPID>CMMAB01-DTP01</EQPID></Body> </Message>示例代码 import org.w3c.dom.Document; impo…...
Docker占用空间太大磁盘空间不足清理妙招
docker占用空间太大了,磁盘空间不足,清理3妙招 清除所有已停止的容器(container)、未被任何容器所使用的卷(volume)、未被任何容器所关联的网络(network)、所有悬空镜像(…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
