12.SpringMVC 获得 请求头信息

注解:

1. @RequestHeader

使用@RequestHeader可以获得请求头信息,相当于web阶段学习的request.getHeader(name)

@RequestHeader注解的属性如下:

 value:请求头的名称

required:是否必须携带此请求头 【一般都是false】

 

先来看看请求头:我们在访问一个页面的时候 ,会携带很请求头,请求头包含了很多很多信息 具体要你自己去抓包看一下:

 

 

 

然后我们想获取就用注解@RequestHeader:

package com.bihu.Controller;


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.ResponseBody;


@Controller
public class TestController {

    @RequestMapping("/ok")
    @ResponseBody//直接响应 不进行跳转
    //下面我们获取请求头的user-agent ,要获取请求头的什么就往里面写什么即可,测试一下:
    public void Test(@RequestHeader("user-agent") String headerValue){
        System.out.println(headerValue);    //打印一下请求头的 user-agent

    }

}

所以获取就成功了,当然你要打印请求头的什么都可以,但是呢名字要对即可。


 

2.注解:

@CookieValue

使用@CookieValue可以获得指定Cookie的值

@CookieValue注解的属性如下:

value:指定cookie的名称

required:是否必须携带此cookie 【一般都是false】

 

请求头有个 Cookie ,他就是请求的Cookie,因为呢 他是键值对存在的,所以我们直接用@RequestHeader 来获取 还要对其进行操作,SpringMVC 有怎么一个 注解 @CookieValue ,可以直接获取到

请求头的值,根据Cookie 的键直接获取即可:

package com.bihu.Controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


@Controller
public class TestController {

    @RequestMapping("/ok")
    @ResponseBody//直接响应 不进行跳转
    //下面我们获取请求头的user-agent ,要获取请求头的什么就往里面写什么即可,测试一下:
    public void Test(@CookieValue("JSESSIONID") String headerValue){
        System.out.println(headerValue);    //打印一下请求头的 user-agent
    }

}

 

所以 就那么简单 直接获取即可

 

 

话说今天想做一个请求访问数据的  然后出现跨域 搞得累死,也是有关这些玩意的

posted @ 2021-07-06 15:23  咸瑜  阅读(852)  评论(0编辑  收藏  举报