springMVC笔记系列(9)——RequestHead注解

与之前的注解类似,各个注解都是围绕请求的不同要素创建的,为的是映射各种不同条件的请求并处理。、

请求头内容也是请求的要素之一,映射它的注解是@RequestHead.

技术分享

我们可以对请求的诸多head条目进行条件映射,并取出相应的值给控制器类的处理方法的参数。

package com.happyBKs.springmvc.handlers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@RequestMapping("class")
@Controller
public class RPTestHandler {

	String page="successrm";

	@RequestMapping("testhead")
	public String handleRH(@RequestHeader(value="Accept-language") String head)
	{
		System.out.println("Request Head Accept-language:"+head);
		return page;
	}
}

请求页面:第二个链接(本文出自:http://my.oschina.net/happyBKs/blog/417413)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="class/student?username=happyBKs&age=100">class/student?username=happyBKs&age=100</a>
<br/>
<a href="class/testhead">class/testhead</a>
</body>
</html>

运行过程:

技术分享

控制台输出:

Request Head Accept-language:zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3


注意:如果@RequestHead给定的value不存在,也就是映射的请求头名称不存在,那么服务器将报错。

public String handleRH(@RequestHeader(value="xxxxx") String head)

那么请求之后:

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。