• @RequestHeader是将请求头信息和控制器方法的形参创建映射关系
    • @RequestHeader注解一共有三个属性:valuerequireddefaultValue,用法同@RequestParam

    image.png
    示例:
    HTML:

    1. <!DOCTYPE html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Title</title>
    6. </head>
    7. <body>
    8. <h1>首页</h1>
    9. <a th:href="@{/requestHeader}">获取请求头的host</a><br>
    10. </body>
    11. </html>

    Controller:

    package com.way.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestHeader;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    
    import javax.servlet.http.HttpServletRequest;
    import java.util.Arrays;
    
    @Controller
    public class MyController {
    
        @RequestMapping(value = "/requestHeader")
        public String testRequestHeader(@RequestHeader("Host") String host) {
            System.out.println(host);
            return "target";
        }
    }
    

    idea结果:

    localhost:8080