在这里插入图片描述

1.请求数据中有指定参数名

@RequestMapping("/request_header")
@Controller
public class RequestHeaderController {
	/*请求头数据中有指定参数名*/
	//@RequestMapping(value="/test1",headers= {"Accept"})  //请求头里面已经是包含Accept
	@RequestMapping(value="/test1",headers= {"my_test"})  //模拟发送,my_test:值
	public String test1() {
		System.out.println("RequestHeaderController test1()...");
		return "test";//跳转到test.jsp
	}
}

在浏览器中模拟发送
在这里插入图片描述

2.请求头数据中没有指定参数名

@RequestMapping("/request_header")
@Controller
public class RequestHeaderController {
	/*请求头数据中没有指定参数名*/
	@RequestMapping(value="/test2",headers= {"!my_test"}) 
	public String test2() {
		System.out.println("RequestHeaderController test2()...");
		return "test";//跳转到test.jsp
	}
}

3.请求头数据中指定参数名=值

@RequestMapping("/request_header")
@Controller
public class RequestHeaderController {
	/*请求头数据中指定参数名=值*/
	@RequestMapping(value="/test3",headers= {"Content-Type=application/json"}) //希望返回一个json数据,模拟重发
	public String test3() {
		System.out.println("RequestHeaderController test3()...");
		return "test";//跳转到test.jsp
	}
}

在这里插入图片描述

请求头header中很重要的两个参数:
	Accept:text/html
		只在响应中存在,表示当前请求希望服务器将来返回的数据类型是text/html
	Content-Type:application/json
		既可以出现在请求中,也可以出现在响应中,例如
		响应中代表服务器响应的是什么数据类型
			响应中response.setContentType("text/html;charset=utf-8");
		请求中代表客户端所携带的参数是什么类型

4.请求头数据中指定参数名!=值

@RequestMapping("/request_header")
@Controller
public class RequestHeaderController {
	@RequestMapping(value="/test4",headers= {"Content-Type!=application/json"}) 
	public String test4() {
		System.out.println("RequestHeaderController test4()...");
		return "test";//跳转到test.jsp
	}
}

5.组合使用是"且"的关系

@RequestMapping("/request_header")
@Controller
public class RequestHeaderController {
	@RequestMapping(value="/test5",headers= {"Accept","Content-Type!=application/json"}) 
	public String test5() {
		System.out.println("RequestHeaderController test5()...");
		return "test";//跳转到test.jsp
	}
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐