云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > springmvc注解

springmvc注解

  • 62 次阅读
  • 3 次下载
  • 2026/4/25 6:00:00

对于各种注解而言,排第一的当然是“@Controller”,表明某类是一个controller。

“@RequestMapping”请求路径映射,如果标注在某个controller的类级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。

? 1 @Controller 2 @RequestMapping(value=\) 3 public class BookController { 4 5 @RequestMapping(value=\) 6 public String getTitle(){ 7 return \; 8 } 9 10 @RequestMapping(value=\) 11 public String getContent(){ 12 return \; 13 } 14 }

由于BookController类加了value=\的“@RequestMapping”的注解,所有相关路径都要加上\,即请求的url分别为:

1. 2.

http://localhost:8080/book/title http://localhost:8080/book/content

\的value值前后是否有“/”对请求的路径没有影响,即value=\、\、\其效果是一样的

\的属性

? value: 指定请求的实际url

1. 普通的具体值。如前面的value=\。 2. 含某变量的一类值

?

1 @RequestMapping(value=\) 2 public String getBookById(@PathVariable String bookId,Model model){ 3 model.addAttribute(\, bookId); 4 return \; 5 }

? ?

路径中的bookId可以当变量,@PathVariable 注解即提取路径中的变量值

? 3.ant风格

@RequestMapping(value=\:可匹配“/get/id1”或“/get/ida”,但不匹配“/get/id”或“/get/idaa”;

@RequestMapping(value=\:可匹配“/get/idabc”或“/get/id”,但不匹配“/get/idabc/abc”;

@RequestMapping(value=\:可匹配“/get/id/abc”,但不匹配“/get/idabc”; @RequestMapping(value=\:可匹配“/get/id/abc/abc/123”或“/get/id/123”,也就是Ant风格和URI模板变量风格可混用;

4. 含正则表达式的一类值

@RequestMapping(value=\:可以匹配“/get/123-1”,但不能匹配“/get/abc-1”,这样可以设计更加严格的规则。 可以通过@PathVariable 注解提取路径中的变量(idPre,idNum)

5. 或关系

@RequestMapping(value={\即 /get或/fetch都会映射到该方法上

?

ST})

method: 指定请求的method类型, GET、POST、PUT、DELETE等;

@RequestMapping(value=\

? params

@RequestMapping(params=\,请求参数包含“action=del”,如:http://localhost:8080/book?action=del

? headers

@RequestMapping(value=\:表示请求的URL必须为“/header/id 且 请求头中必须有“Accept =application/json”参数即可匹配。

1、 @PathVariable

当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。 示例代码:

@Controller

@RequestMapping(\ public class RelativePathUriTemplateController {

@RequestMapping(\

public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {

// implementation omitted } }

上面代码把URI template 中变量 ownerId的值和petId的值,绑定到方法的参数上。若方法参数名称和需要绑定的uri template中变量名称不一致,需要在@PathVariable(\指定uri template中的名称。

2、 @RequestHeader、@CookieValue

@RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。

示例代码:

这是一个Request 的header部分:

Host localhost:8080

Accept text/html,application/xhtml+xml,application/xml;q=0.9 Accept-Language fr,en-gb;q=0.7,en;q=0.3 Accept-Encoding gzip,deflate

Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 300

@RequestMapping(\

public void displayHeaderInfo(@RequestHeader(\ @RequestHeader(\ { }

上面的代码,把request header部分的 Accept-Encoding的值,绑定到参数encoding上了, Keep-Alive header的值绑定到参数keepAlive上。

@CookieValue 可以把Request header中关于cookie的值绑定到方法的参数上。

例如有如下Cookie值:

JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84 参数绑定的代码:

@RequestMapping(\

public void displayHeaderInfo(@CookieValue(\ { }

即把JSESSIONID的值绑定到参数cookie上。

3、@RequestParam, @RequestBody

@RequestParam

A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( String--> 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值;

B)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST;

C) 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定; 示例代码:

@Controller

@RequestMapping(\ @SessionAttributes(\ public class EditPetForm {

@RequestMapping(method = RequestMethod.GET)

public String setupForm(@RequestParam(\ Pet pet = this.clinic.loadPet(petId); model.addAttribute(\ return \

搜索更多关于: springmvc注解 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

对于各种注解而言,排第一的当然是“@Controller”,表明某类是一个controller。 “@RequestMapping”请求路径映射,如果标注在某个controller的类级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。 ? 1 @Controller 2 @RequestMapping(value=\) 3 public class BookController { 4 5 @RequestMapping(value=\) 6 public String getTitle(){ 7 return \; 8 } 9 10 @RequestMapping(value=\) 11 public Stri

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com