SpringMVC:学习笔记(2)——RequestMapping及请求映射
SpringMVC——RequestMapping及请求映射
@RequestMapping
说明
Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求。
在控制器的类定义及方法定义处都可标注@RequestMapping
说明:
– 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录
– 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。
1.在方法定义处标注@RequestMapping

2.在类定义处标准@RequestMapping
类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录

限制请求
1.指定请求方式

2.限制请求头和请求参数

URL路径映射
说明
现在我们已经可以利用@RequestMapping处理URL请求了,但是一个控制器可能要处理多个URL路径的请求,这时候就需要用到URL路径映射了。
1.普通URL路径映射
@RequestMapping(value={"/test1", "/user/create"}):多个URL路径可以映射到同一个处理器的功能处理方法。
2.ANT风格路径
Ant 风格资源地址支持 3 种匹配符:
– ?:匹配文件名中的一个字符
– *:匹配文件名中的任意字符
– **:** 匹配多层路径
@RequestMapping 还支持 Ant 风格的 URL:
– /user/*/createUser: 匹配 /user/aaa/createUser、/user/bbb/createUser 等 URL
– /user/**/createUser: 匹配 /user/createUser、/user/aaa/bbb/createUser 等 URL
– /user/createUser??: 匹配 /user/createUseraa、/user/createUserbb 等 URL
3.URL模板模式映射
说明:
1.带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义。
2.通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。
演示:

了解:
为了去执行@PathVariable注解,SpringMVC需要通过名字去找到相匹配的URI模板变量.你也可以表明它通过使用另一个注解:

说明:
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方 法的映射,并更好地表达被注解方法的语义。
映射请求信息
标准的HTTP请求报头

映射请求参数
1.编写POST请求表单

2.在控制器中使用注解@RequestParam,将请求信息入参

映射请求头

映射Cookie值

使用POJO对象绑定请求参数值
说明:
Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address.tel 等。
实例:
1.创建表单:

2.编写POJO类

3.编写控制器方法

使用Servlet API作为入参
说明:
我们也可以使用原声的ServletAPI作为参数,MVC的Handle方法可以接受的ServletAPI参数:
• HttpServletRequest
• HttpServletResponse
• HttpSession
• java.security.Principal
• Locale
• InputStream
• OutputStream
• Reader
• Writer
实例:

SpringMVC:学习笔记(2)——RequestMapping及请求映射的更多相关文章
- SpringMVC 学习笔记(两) @RequestMapping、@PathVariable和其他注意事项
1.1. @RequestMapping映射请求 SpringMVC 采用 @RequestMapping 注解为控制器指定能够处理那些URL 请求 @requestMapping 能够定义在 类 ...
- SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
版权声明:本文为博主原创文章,博客地址:http://blog.csdn.net/a67474506?viewmode=contents 1.1. @RequestMapping映射请求 Spring ...
- springMVC学习总结(二)路径映射和请求方法限定
springMVC学习总结(二)路径映射和请求方法限定 一.路径映射 无参数的访问路径 对springmvc项目的访问路径,是由根路径和子路径组成:在注解式开发中,根路径标注在类名之上,子路径标注在方 ...
- 史上最全的SpringMVC学习笔记
SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于Spring ...
- SpringMVC:学习笔记(8)——文件上传
SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...
- springmvc学习笔记(简介及使用)
springmvc学习笔记(简介及使用) 工作之余, 回顾了一下springmvc的相关内容, 这次也为后面复习什么的做个标记, 也希望能与大家交流学习, 通过回帖留言等方式表达自己的观点或学习心得. ...
- springmvc学习笔记(常用注解)
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...
- SpringMVC学习笔记之二(SpringMVC高级参数绑定)
一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...
- springmvc学习笔记(19)-RESTful支持
springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...
随机推荐
- (中等) POJ 2948 Martian Mining,DP。
Description The NASA Space Center, Houston, is less than 200 miles from San Antonio, Texas (the site ...
- Codeforces#362
A题 题意:给定一串数列,t,t+s,t+s+1,t+2s,t+2s+1......问某一个数是否是数列当中的 题意:只需判断(x-t)与(x-t-1)能否整除s即可,注意起始时的判断 #includ ...
- 13、手把手教你Extjs5(十三)模块字段和Grid列的定义[1]
这一节加入模块自定义字段,并根据这些字段生成model.然后再定义grid中的分组和列.从这一切开始真正进入到了模块自定义的节奏当中,代码的复杂度和技巧性也大大提高.先从模块字段的自定义开始.先看一下 ...
- minor gc 和 full gc
JAVA中关于GC的分析中,需要搞清楚,GC线程在什么时候,对什么东西,做了什么操作. 1-在什么时候 首先需要知道,GC分为minor GC和full GC,JAVA内存分为新生代和老年代,新生代中 ...
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
安装apk的时候,报错. 解决:把所有这个apk的相关信息删除干净,隐藏较深的是设置->应用管理->这个应用的相关信息删除干净就可以了
- bzoj3809
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3809 题目大意: Autumn和Bakser又在研究Gty的妹子序列了!但他们遇到了一个难题 ...
- Python3基础 pop() 删除 键为指定值的项
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 字符集UTF-8MB4 MySQL utf8mb4 字符集,用于存储emoji表情
字符集UTF-8MB4 utf8mb4兼容utf8,且比utf8能表示更多的字符.看unicode编码区从1 - 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8m ...
- iOS 添加导航栏两侧按钮
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"首页" style ...
- Add Strings Leetcode
Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2 ...