SpringMVC(四)_功能处理方法的映射

       前言:本文主要介绍控制器上的功能处理方法映射,包括URL路径映射,请求方法映射,请求参数映射,请求头映射。

本篇文章重点关注以下问题:

  • 简述Http请求信息
  • URL路径映射限定
  • 请求方法映射限定
  • 请求参数映射限定
  • 请求头映射限定

1. HTTP请求信息

SpringMVC(四)_功能处理方法的映射        Http请求信息主要包括五部分信息:

  1. 请求方法:如GET、POST等,表示提交方式;
  2. URL:请求的地址信息;
  3. 协议及版本;
  4. 请求头信息:包括Cookie等;
  5. 请求内容:请求的内容或数据,如表单提交时的参数数据、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值,其值有三种类型:

  1. 普通URL路径映射:指定为普通的具体值;
  2. 可以指定为含有某变量的一类值(URI Template Patterns with Path Variables);
  3. 可以指定为含正则表达式的一类值( URI Template Patterns with Regular Expressions);

2.1.1 普通URL路径映射         

         这种映射类型很简单,需要说明的是多个URL路径可以映射到同一个处理器的功能处理方法的情况(或的关系):

相关推荐