码迷,mamicode.com
首页 > 其他好文 > 详细

@PathVariable、@RequestHeader与@CookieValue注解的使用案例

时间:2019-02-12 00:13:05      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:RoCE   .com   for   --   temp   actor   ==   cookie   方便   

@PathVariable注解

可以非常方便地获取请求URL中的动态参数。只支持一个属性value[String类型]

@RequestHeader注解

可以用于将请求头的信息区数据映射到功能处理方法的参数上。属性有name(别名:value)、required[布尔类型]、defaultValue[String类型]。

@CookieValue注解

可以用于将请求的Cookie数据映射到功能处理方法的参数上。属性有name(别名:value)、required[布尔类型]、defaultValue[String类型]。

案例

项目配置我就不在这里再次描述了,可以翻我之前的文章。

新建一个DataBindingController,用于接受并输出获取的数据。

package com.wen.controller;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class DataBindingController {
    //静态的日志类LogFactory
    private static final Log logger = LogFactory.getLog(DataBindingController.class);

    //测试@PathVariable注解
    //该方法映射的请求为http://localhost:8080/.../pathVariableTest/{userId}
    @RequestMapping(value = "/pathVariableTest/{userId}")
    public void pathVariableTest(@PathVariable Integer userId){
        logger.info("通过@PathVariable获得数据:"+userId);
    }

    //测试@RequestHeader注解
    //该方法映射的请求为http://localhost:8080/.../requestHeaderTest
    @RequestMapping(value = "/requestHeaderTest")
    public void requestHeaderTest(
            @RequestHeader("User-Agent") String userAgent,
            @RequestHeader(value="Accept") String[] accepts){
        logger.info("通过@requestHeaderTest获得数据:"+userAgent);
        for (String accept :accepts){
            logger.info(accept);
        }

    }

    //测试@CookieValue注解
    //该方法映射的请求为http://localhost:8080/.../cookieValueTest
    @RequestMapping(value = "/cookieValueTest")
    public void cookieValueTest(
            @CookieValue(value = "JSESSIONID",defaultValue = "") String sessionId){
        logger.info("通过@cookieValueTest获得数据:"+sessionId);
    }
}

index.jsp用于访问Controller中的方法。

<%--
  Created by IntelliJ IDEA.
  User: wen
  Date: 2019/1/28
  Time: 21:28
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h2>数据绑定测试</h2>
  <a href="pathVariableTest/1">测试PathVariable注解</a>
  <a href="requestHeaderTest">测试RequestHeader注解</a>
  <a href="cookieValueTest">测试CookieValue注解</a>
  </body>
</html>

点击超链接测试,控制台就会出现以下数据。
技术图片

@PathVariable、@RequestHeader与@CookieValue注解的使用案例

标签:RoCE   .com   for   --   temp   actor   ==   cookie   方便   

原文地址:https://www.cnblogs.com/guowenrui/p/10363580.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!