SpringMVC(四)_功能处理方法的映射
前言:本文主要介绍控制器上的功能处理方法映射,包括URL路径映射,请求方法映射,请求参数映射,请求头映射。
本篇文章重点关注以下问题:
- 简述Http请求信息
- URL路径映射限定
- 请求方法映射限定
- 请求参数映射限定
- 请求头映射限定
1. HTTP请求信息
Http请求信息主要包括五部分信息:
- 请求方法:如GET、POST等,表示提交方式;
- URL:请求的地址信息;
- 协议及版本;
- 请求头信息:包括Cookie等;
- 请求内容:请求的内容或数据,如表单提交时的参数数据、URL请求参数(?abc=123 ?后边的)等。
分析上述五部分信息,可以看到1,2,4,5是可变的,因此可以将这些信息进行请求到处理器的功能处理方法的映射,因此请求的映射分为如下几种:
- URL路径映射:使用URL映射请求到处理器的功能处理方法;
- 请求方法映射限定:如限定功能处理方法只处理GET请求;
- 请求参数映射限定:如限定只处理包含“abc”请求参数的请求;
- 请求头映射限定:如限定只处理“Accept=application/json”的请求。
2. 功能处理方法映射
功能处理方法映射使用注解:@RequestMapping。@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。其有六个属性:
属性 | 作用 |
value | 指定请求的实际地址,指定的地址可以是URI Template 模式。 |
method | 指定请求的method类型, GET、POST、PUT、DELETE等。 |
params | 指定request中必须包含某些参数值时,才让该方法处理。 |
headers | 指定request中必须包含某些指定的header值时,才能让该方法处理请求。 |
consumes | 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html; |
produces | 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回; |
2.1 URL路径映射
@RequestMapping注解的value属性指明URL值,其值有三种类型:
- 普通URL路径映射:指定为普通的具体值;
- 可以指定为含有某变量的一类值(URI Template Patterns with Path Variables);
- 可以指定为含正则表达式的一类值( URI Template Patterns with Regular Expressions);
2.1.1 普通URL路径映射
这种映射类型很简单,需要说明的是多个URL路径可以映射到同一个处理器的功能处理方法的情况(或的关系):
相关推荐
neweastsun 2020-06-16
JudeJoo 2020-08-21
meleto 2020-08-15
itjavashuai 2020-08-15
zhongliwen 2020-07-05
haidaoxianzi 2020-07-04
小鱿鱼 2020-06-26
haidaoxianzi 2020-06-17
MicroBoy 2020-06-17
牧场SZShepherd 2020-06-17
haidaoxianzi 2020-06-14
zhongliwen 2020-06-13
@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定。加上@ResponseBody注解,就不会走视图解析器,不会返回页面,目前返回的json数据。
DumbbellYang 2020-06-13
csuzxm000 2020-06-09
haidaoxianzi 2020-06-03
qingjiuquan 2020-05-30
84560296 2020-05-30
咻pur慢 2020-05-27