简言之,客户端与服务器端传递数据。其实和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;">点击查看token</p> <div id="result"></div>
原创:响应头(response)和和请求头(request)的值实现,为学习token打基础
原文:https://www.cnblogs.com/asplover/p/13267898.html