文档章节

Spring MVC RequestHeader

博为峰教研组
 博为峰教研组
发布于 2016/12/12 16:59
字数 282
阅读 25
收藏 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
黄浦
程序员
Java+Netty实现的RESTful框架--netty-rest-server

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

传授知识的天使
06/22
0
0
SpringMVC ------请求参数,请求头,cookie等注解。

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

Rickxue
2015/12/17
385
0
如何实现@ResponseBody,把Json字符串转换为指定类型

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

atheva
08/09
0
0
【转】Ajax响应中文乱码 [SpringMVC使用@ResponseBody处理Ajax请求]

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

一堆BUG
2013/09/10
0
0
4:spring mvc 数据绑定

 如何绑定数据 API方式绑定数据 我们还可以通过如HttpServletRequest 等API 得到请求数据,但推荐使用注解方式,因为使用起来更简单。我们需要首先看看功能处理方法支持哪些类型的形式参数...

小杰java
2017/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链入门教程以太坊源码分析ethdb源码分析

兄弟连区块链入门教程以太坊源码分析ethdb源码分析,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退...

兄弟连区块链入门教程
4分钟前
0
0
Eclipse下忽略掉node_modules目录相关配置

https://blog.csdn.net/yzf913214/article/details/72872523

张宏亮1982
5分钟前
0
0
在Python-dataframe中如何把出生日期转化为年龄?

我们在做数据挖掘项目或大数据竞赛时,如果个体是人的时候,获得的数据中可能有出生日期的Series,举个简单例子,比如这样的一些数: # -*- coding: utf-8 -*- import pandas as pd from ...

Mr_zebra
7分钟前
0
0
Android入门—activity生命周期

activity生命周期如下所示: onCreate()方法 创建activity时使用onStart()方法 当activity界面变为用户可见时调用onResume()方法 当activity界面获取到焦点时调用(界面按钮可点击,...

haoyuehong
9分钟前
0
0
使用C++ Builder 6编译产生错误

错误提示: [C++ Error] E2075 Incorrect project override option: Files\Borland\CBuilder6\lib\vcl60.csm[C++ Error] E2075 Incorrect project override option: Files\Borland\CBuilde......

simpower
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部