作者:mobiledu2502926997 | 来源:互联网 | 2023-01-30 16:41
什么是token?简言之,客户端与服务器端传递数据。其实和cookie传递数据原理相同,存方位置不同而已。存放在请求头ResponseHeader或RequestHeader。1:
什么是token?
简言之,客户端与服务器端传递数据。其实和COOKIE传递数据原理相同,存方位置不同而已。存放在请求头Response Header或Request Header。
1:控制器中代码
@Controller
@RequestMapping(value = "/user")
public class UserController {
private static final transient Logger log = LoggerFactory.getLogger(UserController.class);
/**
* 测试得到请求token
* @param mv
* @return
*/
@RequestMapping(value = "/getToken")
public ModelAndView getToken(HttpServletResponse response, HttpServletRequest request, ModelAndView mv){
log.info("测试得到token");
//写入响应头,键值对。名称可以自己定义
response.addHeader("ResponseToken","ResponseTokenValue");
//接收请求头,键值对,并把接收参数的值传递给变量RequestToken
String RequestToken=request.getHeader("RequestToken");
System.out.println("得到RequestToken的值为:"+RequestToken);
mv.setViewName("/user/getToken");
return mv;
}
}
2:请求通过jquery的ajax来把请求头加进去,代码如下
主要作用通过“ headers: { //键值对,多个键值之间需要用逗号“,”隔开 "RequestToken":"RequestTokenValue" },”来写入请求头
<script>
$(document).ready(function(){
$("#button").click(function(){
alert("点击到了我");
// 通过Jquary的ajax来填充装请求头
$.ajax({
headers: {
//键值对,多个键值之间需要用逗号“,”隔开
"RequestToken":"RequestTokenValue"
},
url:"http://localhost:8080/shiro_manager/user/getToken",
type: "get",
contentType: "application/json",
dataType: ‘json‘,
cache: false,
async: true,
});
});
});
script>
<p id="button" style="color:red;">点击查看tokenp>
<div id="result">div>
原创:响应头(response)和和请求头(request)的值实现,为学习token打基础
原文:https://www.cnblogs.com/asplover/p/13267898.html