文档章节

Spring MVC RequestHeader

博为峰教研组
 博为峰教研组
发布于 2016/12/12 16:59
字数 282
阅读 30
收藏 0

  HTTP协议采用的是请求、响应模型,客户端发出请求,服务器响应结果。在传输中的消息资源包括header和body两部分。前几节我们学习了获取body参数、URL、URI Template参数的方法。今天我们学习如何获取header部分的数据。SpringMVC提供了@RequestHeader注解用于映射请求头数据到Controller方法的对应参数。

小博老师先跟大家介绍一下请求头(header)数据主要有哪些:

使用@RequestHeader注解与使用@RequestParam一样,在方法参数前加上注解即可,如下面的示例:

@RequestMapping("/boweifeng")  

public void queryUser(@RequestHeader("Accept-Encoding") String encoding,  @RequestHeader("Keep-Alive") long keepAlive)  {  

}  

该 示例把请求头(header)部分的 Accept-Encoding的值,绑定到了参数encoding上了, 把请求头中Keep-Alive的值绑定到参数keepAlive上。

注意事项:

如果指定的参数在请求头中不存在,Spring将会初始化该参数为null。如果想要设置默认值,可以使用defaultValue指定,如下面红色部分标识。

public void queryUser(

@RequestHeader(value="Accept-Encoding",defaultValue="UTF-8") String encoding,  

@RequestHeader("Keep-Alive") long keepAlive)  {  

}  

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
SpringMVC ------请求参数,请求头,cookie等注解。

1.Spring MVC通过分析处理方法的签名,将HTTP请求信息绑定到处理方法的相应入参中。 2.Spring MVC对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。 3.必要时...

Rickxue
2015/12/17
385
0
Java+Netty实现的RESTful框架--netty-rest-server

摘要: 在工作中用Netty做了几个服务,感觉Netty做出来的程序性能好,资源占用少,但是实现Http服务比较麻烦,于是就参考Spring MVC的注解基于Netty实现了一个轻量级的RESTful框架。 该框架提...

传授知识的天使
06/22
0
0
如何实现@ResponseBody,把Json字符串转换为指定类型

1.问题 spring 是如何把 http中的body,转换为指定类的,里面的难点其实在于泛型的处理。 2.Spring的处理 2.1 HandlerMethod 这个类Spring对Method的封装,例如使用@RequestMapping注解方法,...

atheva
08/09
0
0
Spring Framework 3.2.17 发布

Spring Framework 3.2.17 发布了。 改进记录如下: fixed AbstractRequestLoggingFilter appends null query string (SPR-14244) fixed Deadlock possible with AspectJ aspects and multi-......

淡漠悠然
2016/05/06
1K
3
【转】Ajax响应中文乱码 [SpringMVC使用@ResponseBody处理Ajax请求]

Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。 Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用r......

一堆BUG
2013/09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

git reset放弃修改&放弃增加文件

1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。 单个文件/文件夹: $ git checkout -- filename 所有文件/文件夹: $ git checkout . 2. 本地新增了一堆文件(并没有git a...

JamesView
8分钟前
0
0
UnaryOperator函数式接口

这是一个函数式接口,因此可以用作lambda表达式或方法引用的赋值目标。 可以看到UnaryOperator<T>继承了Function<T,T>接口,这里可是两个T,T,还增加了static修饰的identity()方法。 然后我们...

woshixin
8分钟前
0
0
关于java包装类型的缓存

除了Float 和 Double 外,其他包装数据类型都会缓存 -128 ~127 的值,对于 Integer var = ? 在 -127~128 之间的赋值,Integer 对像由IntegerCache.cache 产生,会复用已有对像,这个区间内的...

Canaan_
11分钟前
1
0
mysql复合主键

表: CREATE TABLE `w_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`,`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 实践: 1、添加i......

shikamaru
12分钟前
0
0
记一下自己理解的SSL

步骤 操作 客户端钥匙(随机数)数量 服务端钥匙(随机数)数量 1 客户端生成一把钥匙, 发给服务器 1 0 2 服务器确认支持 1 1 3 服务器 生成一把钥匙 发给客户端,并且把公钥(证书)给他 ...

Gavin-King
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部