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