博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@PathVariable、@RequestHeader与@CookieValue注解的使用案例
阅读量:6578 次
发布时间:2019-06-24

本文共 2081 字,大约阅读时间需要 6 分钟。

@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.*;@Controllerpublic 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" %>      $Title$      

数据绑定测试

测试PathVariable注解 测试RequestHeader注解 测试CookieValue注解

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

控制台输出

转载于:https://www.cnblogs.com/guowenrui/p/10363580.html

你可能感兴趣的文章
ADO.NET笔记——使用DataSet返回数据
查看>>
Python脚本日志系统
查看>>
JavaScript 特殊效果代码
查看>>
【?】codeforces721E Road to Home(DP+单调队列)
查看>>
MySQL 仅保留7天、一个月数据
查看>>
Diff Two Arrays
查看>>
下拉菜单
查看>>
[清华集训2014]玛里苟斯
查看>>
Project Euler 345: Matrix Sum
查看>>
你可能不知道的技术细节:存储过程参数传递的影响
查看>>
.htaccess 基础教程(四)Apache RewriteCond 规则参数
查看>>
UVM中的class--2
查看>>
ORACLE 存储过程异常捕获并抛出
查看>>
root用户重置其他密码
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>