SpringMVC RequestMapping注解类·Ant和占位符URL

时间:2022-11-26 17:29:27

RequestMapping注解类

一、RequestMapping注解类的使用方法

•开发Controller控制器类,使用@Controller注解标注,并在配置文件中用<context:component-scan/>扫描 •在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解 •DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法

SpringMVC RequestMapping注解类·Ant和占位符URL

RequestMapping注解类的属性,分别有value, method, consumes, produces, params, headers


这里介绍value属性:

•代表具体的请求路径,比如上面的 /user, /login都是value的值 •value可以省略,就像例子中一样,直接用@RequestMapping("/login") 的格式,它等同于@RequestMapping(value ="/login") 

SpringMVC RequestMapping注解类·Ant和占位符URL

这里介绍method属性:

•指定请求的method类型, GET、POST、PUT、DELETE等 SpringMVC RequestMapping注解类·Ant和占位符URL
•例:@RequestMapping(value = "/login", method =RequestMethod.POST) 那么只有发送POST请求才会触发这个方法 SpringMVC RequestMapping注解类·Ant和占位符URL
•例:@RequestMapping(value = "/login", method ={RequestMethod.POST, RequestMethod.GET}) 

介绍consumes属性:

•指定请求的提交内容类型(Content-Type),例如application/json,text/html SpringMVC RequestMapping注解类·Ant和占位符URL
•它的值既可以是字符串也可以是数组 SpringMVC RequestMapping注解类·Ant和占位符URL


这里介绍produces属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法。 SpringMVC RequestMapping注解类·Ant和占位符URL

这里介绍params属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法 SpringMVC RequestMapping注解类·Ant和占位符URL
•参数中除了使用=等号外,还可以使用!=号,表示在参数的值不等于的情况下触发这个方法 SpringMVC RequestMapping注解类·Ant和占位符URL
•也可以不指定具体的值,直接使用"paramName" 的格式,代表请求中必须包含参数名为 paramName 的参数 •直接使用“!paramName”格式表示请求不能包含名为paramName的请求参数

这里介绍headers属性:

•请求头Header中必须包含某些指定的参数值,才能让该方法处理请求 SpringMVC RequestMapping注解类·Ant和占位符URL
SpringMVC RequestMapping注解类·Ant和占位符URL


定义Ant风格和带占位符的URL

@RequestMapping不仅支持标准的URL,还支持Ant风格和带{xxx}占位符的URL,下面的URL都是合法的:

•/user/*/login:匹配/user/aaa/login,/user/任意字符/login等•/user/**/login:匹配/user/login,/user/aaa/bbb/login 等•/user/login??:匹配/user/loginAA,/user/loginbb 等•/user/{userId}:匹配/user/123,/user/234 等•/user/**/{userId}:匹配/user/aaa/bbb/123,/user/aaa/234等
这些占位符需要用pathvariable绑定后使用