RequestFacade对象获取请求头时忽略大小写
也许在Controller层接口参数中添加HttpServletRequest参数,用来获取请求头信息,会担心请求头字段的大小写影响数据的获取,其实不然,不必这样担心,只要你深入代码了解一下就会发现tomcat本身是支持忽略大小写的请求头字段。
在RequestFacde文件中getHeader函数逻辑实现如下所示:
public String getHeader(String name) {
if(this.request == null) {
throw new IllegalStateException(sm.getString("requestFacade.nullRequest"));
} else {
return this.request.getHeader(name);
}
}
在上述代码中getHeader函数最终是调用了MimeHeaders文件中的getValue函数,其具体实现如下所示:
public MessageBytes getValue(String name) {
for(int i = 0; i < this.count; ++i) {
if(this.headers[i].getName().equalsIgnoreCase(name)) {
return this.headers[i].getValue();
}
}
return null;
}
在上述代码中,可以看到在比较请求头字段时是忽略大小写的。
RequestFacade对象获取请求头时忽略大小写的更多相关文章
- 03-【request对象获取请求的数据 & request对象存取值】
request概述(封装了客户端所有的请求数据) request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest.在 ...
- request获取请求头和请求数据
package cn.itcast.request; import java.io.IOException; import java.io.InputStream; import java.io.Pr ...
- springcloud- FeginClient 调用统一拦截添加请求头 RequestInterceptor ,被调用服务获取请求头
使用场景: 在springcloud中通过Fegin调用远端RestApi的时候,经常需要传递一些参数信息到被调用服务中去,比如从A服务调用B服务的时候, 需要将当前用户信息传递到B调用的服务中去,我 ...
- WebAPi获取请求头中对应键值
/// <summary> /// 依据键获取请求头中值数据 /// </summary> /// <param name="request"> ...
- nginx 获取请求头,URL参数
获取url参数 在 ngx_lua 中访问 Nginx 内置变量 ngx.var.arg_PARAMETER 即可获得GET参数PARAMETER的内容. 在 nginx配置中,通过$arg_PARA ...
- postman关联 (含获取请求头的方法)
在Tests里面输入脚本 var jsonData = JSON.parse(responseBody);postman.setEnvironmentVariable("message&qu ...
- request 获取请求头
/********************************************************servlet页面********************************** ...
- 入门servlet:request获取请求头数据
@WebServlet("/RequestDemo2") public class RequestDemo2 extends HttpServlet { protected voi ...
- 【原创】Selenium获取请求头、响应头
本文仅供学习交流使用,如侵立删! Selenium获取请求头.响应头 操作环境 win10 . mac Python3.9 selenium.seleniumwire selenium是没有办法直接获 ...
随机推荐
- Qt下Armadillo矩阵函数库的添加
其实本文严格说只能算VS2013添加Armadillo教程,因为为了省事,用的是VS2013编译器版本的Qt,Armadillo也直接用了自带例子中的blas_win64_MT.dll.blas_wi ...
- Python中将变量按行写入txt文本中
案例一: 讲数组a 循环写入名称为2.txt的文档中 # -*-coding:utf8-*- import requests from lxml import etree a=[1,2,3,4,5,6 ...
- STM8上电默认电平不对的解决
首先,手册上说的是对的,STM8/32上电后所有未被初始化的引脚电平全部是浮空的.但是我的程序却出现了一个奇怪的现象 void main(void){ init();//这里初始化时钟,IO ... ...
- nmap详解之原理与用法
前言 nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由 ...
- 关于mysql8启动后又停止(windows10系统),忘记密码以及密码过期等坑解决办法总结!
一 我遇到的问题 1 mysql连接不了,mysql服务启动后又马上关闭 2 忘记密码或者重装服务后提示安装的随机密码过期 一个一个来,先看第一个: 1 出现这个情况很大原因是mysql安装目录有多余 ...
- Redis搭建哨兵模式
一 安装Redis 1. 从https://redis.io/download redis官网下载二进制包安装 例如:wget http://download.redis.io/releases/re ...
- Redis异常 | DENIED Redis is running in protected mode because protected mode is enabled
背景 今天重新搭了个redis环境,用简单的代码去测试下是否正常, @RunWith(SpringRunner.class) @SpringBootTest public class Springbo ...
- 微信小程序没有找到可以构建的npm包
如果是云开发小程序 ,cmd窗口进入到小程序根目录下的miniprogram目录, 输入npm init 输入包的相关属性,随便输入即可. 完成后会出现一个package.json文件. 如果是其他类 ...
- Linux防火墙之iptables常用扩展匹配条件(一)
上一篇博文讲了iptables的基本匹配条件和隐式匹配条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12269717.html:今天在来说说iptabel ...
- vim 实用快捷键
删除当前行:dd 删除上一行:dj 删除下一行:dk 拷贝当前行:yy 交换当前行和其下一行 交换当前字符和其后的一个字符 剪切当前字符:x 剪切当前光标开始向后三个字符:3x 撤销最近一次修改:u ...