Spring MVC的注解二
2019-09-17 10:34:54来源:博客园 阅读 ()
Spring MVC的注解二
概述
Spring从2.5版本开始引入注解,虽然版本不断变化,但是注解的特性一直被延续下来并不断进行扩展,这里就来记录一下Spring MVC中常用的注解,本文承接前文继续记录@PathVariable、@RequestHeader和@CookieValue三个注解。
@PathVariable注解
该注解可以方便的获得请求URL中的动态参数。只有一个属性value,类型为String,表示绑定的名称,若省略默认绑定同名参数。
1 @RequestMapping(value = "/login/{username}") 2 public String login(@PathVariable String username){ 3 ... 4 }
若请求的URL为:“http://localhost:8080/user/login/jack”,通过该注解将jack绑定到username参数上。
@RequestHeader注解
该注解用于将请求头信息数据映射到功能处理方法的参数。
@RequestHeader注解支持的常用属性:
属性 | 类型 | 说明 |
name | String | 指定请求头绑定的名称 |
value | String | name属性的别名 |
required | boolean | 参数是否必须绑定 |
defaultValue | String | 没有传递参数时,参数的默认值 |
@CookieValue注解
该注解用于将请求的Cookie数据映射到功能处理方法的参数。
@CookieValue注解支持的常用属性:
属性 | 类型 | 说明 |
name | String | 指定请求头绑定的名称 |
value | String | name属性的别名 |
required | boolean | 参数是否必须绑定 |
defaultValue | String | 没有传递参数时,参数的默认值 |
注解示例程序
示例程序在前文项目SpringMVCProject的基础上进行完善编写。
在com.snow.dcl.controller包下创建DataBindController类文件,编写如下程序:
1 @Controller 2 public class DataBindController { 3 private static final Log LOGGER = LogFactory.getLog(DataBindController.class); 4 5 @RequestMapping("/PathVariableTest/{userId}") 6 public void pathVariableTest(@PathVariable Integer userId) { 7 LOGGER.info("通过@PathVariable获取数据" + userId); 8 } 9 10 @RequestMapping("/RequestHeaderTest") 11 public void requestHeaderTest(@RequestHeader("User-Agent") String userAgent) { 12 LOGGER.info("通过@RequestHeader获取数据" + userAgent); 13 } 14 15 @RequestMapping("/CookieValueTest") 16 public void cookieValueTest(@CookieValue(defaultValue = "DCLSNOWID") String sessionId) { 17 LOGGER.info("通过@CookieValue获取数据" + sessionId); 18 } 19 } 20
启动TomcatServer,启动完成后,打开浏览器输入:http://localhost:8080/PathVariableTest/1001,虽然浏览器页面会报404的错误,是因为没有返回的jsp文件,但是看控制台打印的日志信息即可。
1 信息 [http-nio-8080-exec-6] com.snow.dcl.controller.DataBindController.pathVariableTest 通过@PathVariable获取数据1001
在浏览器中重新输入:http://localhost:8080/RequestHeaderTest,查看控制台信息。
1 信息 [http-nio-8080-exec-9] com.snow.dcl.controller.DataBindController.requestHeaderTest 通过@RequestHeader获取数据Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
在浏览器中重新输入:[ttp://localhost:8080/CookieValueTest,查看控制台信息。
1 信息 [http-nio-8080-exec-2] com.snow.dcl.controller.DataBindController.cookieValueTest 通过@CookieValue获取数据DCLSNOWID
原文链接:https://www.cnblogs.com/Dcl-Snow/p/11510658.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Spring系列.ApplicationContext接口 2020-06-11
- Java--注解 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash