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

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

@Controller
@RequestMapping(value="/book")
public class BookController { @RequestMapping(value="/title") public String getTitle(){ return "title"; } @RequestMapping(value="/content") public String getContent(){ return "content"; } }

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

  1. http://localhost:8080/book/title
  2. http://localhost:8080/book/content

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

"@RequestMapping" 的属性

  • value: 指定请求的实际url
    1. 普通的具体值。如前面的value="/book"。
    2. 含某变量的一类值

    @RequestMapping(value="/get/{bookId}")public String getBookById(@PathVariable String bookId,Model model){ model.addAttribute("bookId", bookId); return "book"; }

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

    3.ant风格
    @RequestMapping(value="/get/id?"):可匹配“/get/id1”或“/get/ida”,但不匹配“/get/id”或“/get/idaa”;
    @RequestMapping(value="/get/id*"):可匹配“/get/idabc”或“/get/id”,但不匹配“/get/idabc/abc”;
    @RequestMapping(value="/get/id/*"):可匹配“/get/id/abc”,但不匹配“/get/idabc”;
    @RequestMapping(value="/get/id/**/{id}"):可匹配“/get/id/abc/abc/123”或“/get/id/123”,也就是Ant风格和URI模板变量风格可混用;

    4. 含正则表达式的一类值
    @RequestMapping(value="/get/{idPre:\\d+}-{idNum:\\d+}"):可以匹配“/get/123-1”,但不能匹配“/get/abc-1”,这样可以设计更加严格的规则。
    可以通过@PathVariable 注解提取路径中的变量(idPre,idNum)

    5. 或关系
    @RequestMapping(value={"/get","/fetch"} )即 /get或/fetch都会映射到该方法上

  • method:  指定请求的method类型, GET、POST、PUT、DELETE等;
    @RequestMapping(value="/get/{bookid}",method={RequestMethod.GET,RequestMethod.POST})
  • params
    @RequestMapping(params="action=del"),请求参数包含“action=del”,如:http://localhost:8080/book?action=del
  • headers
    @RequestMapping(value="/header/id", headers = "Accept=application/json"):表示请求的URL必须为“/header/id 且 请求头中必须有“Accept =application/json”参数即可匹配。

转载于:https://www.cnblogs.com/wanghuaijun/p/5549683.html

springmvc常用注解之@Controller和@RequestMapping相关推荐

  1. springmvc常用注解

    转载自   springmvc常用注解 第一部分 一.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请 ...

  2. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --><context:annotation- ...

  3. springmvc php,SpringMVC 常用注解

    SpringMVC 常用注解 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  4. SpringMVC-学习笔记03【SpringMVC常用注解】

    Java后端 学习路线 笔记汇总表[黑马程序员] SpringMVC-学习笔记01[SpringMVC概述及入门案例][day01] SpringMVC-学习笔记02[参数绑定及自定义类型转换] Sp ...

  5. springmvc常用注解标签详解

    参考:https://www.cnblogs.com/leskang/p/5445698.html 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由Disp ...

  6. [转]springmvc常用注解标签详解

    1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  7. spring : springmvc常用注解标签详解(转)

    新的项目,新的学习,好久没用这些注解了,同时在学习使用shiro ,lucene 等等.在网上找了些博文,感谢作者的总结和分享. 欢迎交流,言归正传: 1.@Controller 在SpringMVC ...

  8. SpringMVC常用注解详解

    先说扫描注解 <context:component-scan base-package = "" /> component-scan 默认扫描的注解类型是 @Compo ...

  9. SpringMVC 基于注解的Controller详解

    本文出处 http://blog.csdn.net/lufeng20/article/details/7598801 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spri ...

最新文章

  1. C#委托-委托不关心被封装的类
  2. MIMIC 以太坊医疗项目开发(4)Axios
  3. 全球与中国立式胶体磨市场发展现状调研及前景需求分析报告2022-2027年版
  4. 知识图谱(五)——实体消歧
  5. 攀爬者(洛谷P5143题题解,Java语言描述)
  6. 二叉树的先序、中序、后序遍历等基本操作c++实现
  7. SVN 服务器的安装和配置(Gentoo)
  8. 石头剪刀布代码android,微信小程序源码解说:石头剪刀布(附源码下载)
  9. python中相对路径_Python中的绝对路劲和相对路径
  10. U盘插入电脑有明显的响声但是不显示盘符
  11. [JNI]开发之旅 (3)jni域描述符说明
  12. matlab小波分析工具箱,matlab小波分析工具箱
  13. (曲率系列4:)基于点拟合二次曲面并求曲率
  14. 解决scrapy下载小说乱序
  15. php theexcerpt,WordPress:the excerpt(摘要)
  16. ChucK初步(5)
  17. 4K60帧!RayLink远程控制软件如何帮助设计师远程办公?
  18. 进入黑客的世界:Kali Linux 中的 Metasploit 渗透测试利器
  19. Java调用有道翻译API包括APPID/密钥地址注册
  20. Python+selenium注册唯一账号

热门文章

  1. java jpa 注解_Java : JPA相关以及常用注解
  2. 光耀卡服务器维修,3月28日服务器更新维护公告
  3. python多大孩子可以学_孩子学编程最佳年龄是多大
  4. java需要先安装jdk_谢谢知乎。Java初学者首先下载 JDK 开发环境,然后再下 eclipse 对吗?那 tomcat是什么?还需要安装吗?...
  5. c语言编码风格,讲嵌入式C语言编码风格.ppt
  6. CSDN挑战编程——《数学问题》
  7. android触屏音文件地址,Android音视频-音频采集
  8. 《MySQL——redo log 与 binlog 写入机制》
  9. julia example_使用Julia中的Example的sign()函数
  10. Vestigium-Google CodeJam 2020资格回合问题1解决方案