1. Spring MVC使用 @RequestMapping 注解为控制器指定可以处理哪些URL请求

2. 标注点:

  --类定义处:提供初步的请求映射信息。相对于WEB应用的根目录

  --方法处:提供进一步的细分映射信息。相对于类定义处的URL。若类未定义@RequestMapping,则方法标记的URL相对于WEB应用的根目录

3. DispatcherServlet 截获请求后,就通过控制器上 @RequestMapping提供的映射信息确定请求所对应的处理方法

4. @RequestMapping除了可以用 请求URL 映射请求外(value),还可以使用  请求方法(method), 请求参数(params), 以及请求头(heads) 映射投射条件,它们之间是  “与” 的关系,联合使用多个条件可以使得请求映射更加精确化

5. params 和 headers支持简单的表达式:

  -- param1:表示请求必须包含名为 param1 的请求参数

  -- !param1: 表示请求不能包含名为 param1 的请求参数

  -- param1 != value1: 表示请求包含名为param1的请求参数,但其值不能为value1

  -- {"param1=value1","param2"}: 请求必须包含名为param1 和param2的两个请求参数,且param1参数的值必须为value1

6.例子

  

  @RequestMapping里面的url value值的反斜线  “/” 可加可不加

7. @RequestMapping 还支持Ant风格的URL:

  -- ?     匹配文件名中一个字符

  -- *     匹配文件中的任意字符

  -- **    匹配多层路径

8. @PathVariable映射URL绑定的占位符

  -- 带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展的过程中具有里程碑的意义

  -- 通过@PathVariable 可以将URL中占位符参数绑定到控制器处理方法的入参中: URL中的 {xxx} 占位符可以通过 @PathVariable("xxx") 绑定到操作方法的入参中

    

9. REST(自己写的例子中暂时有错)

  1) REST风格的URL(左边是rest,右边是传统的)

  -- 新增:  /order  POST

  -- 修改:  /order/1  PUT                update?id=1

  -- 获取:  /order/1  GET     get?id=1

    -- 删除: /order/1  DELETE   delete?id=1

  2)html貌似只能发送get(a链接)和 post(表单)。如何发送PUT请求和DELETE请求呢?

    -- 需要在web.xml中配置 HiddenHttpMethodFilter

    -- 需要发送POST请求

    -- 需要在发送POST请求时携带一个 name="_method" 的隐藏域, value 为 DELETE 或者PUT

  3)在SpringMVC 的目标方法中如何得到id?

    -- 使用 @PathVariable 注解

SpringMVC听课笔记(三:使用@RequestMapping映射请求)的更多相关文章

  1. SpringMVC听课笔记(四:映射请求参数 & 请求头)

    1.请求参数 @RequestParam  来映射请求参数  http://localhost:8080/springmvc-1/springmvc/testRequestParam?username ...

  2. SpringMVC之使用 @RequestMapping 映射请求

    @RequestMapping注解 SpringMVC使用该注解让控制器知道可以处理哪些请求路径的,除了可以修饰方法,还可以修饰在类上. – 类定义处:提供初步的请求映射信息.相对于 WEB 应用的根 ...

  3. SpringMVC之使用requestMapping映射请求、映射参数、映射头

    1. 映射请求 作用:使用requestMapping可以指定处理器可以处理那些请求 地方:类和方法前面都可以 @requestMapping 类定义处: 提供初步的请求映射信息,相对于web应用的根 ...

  4. SpringMVC听课笔记(一:SpringMVC概述)

    地址 :https://www.bilibili.com/video/av14907450 版本:4.x 概述: 概要: 一:SpringMVC概述 二:SpringMVC的 HelloWorld 三 ...

  5. SpringMVC学习 -- 使用 @RequestMapping 映射请求

    在控制器的类定义及方法出定义出都可以标注 @RequestMapping: 类定义处:提供初步的请求映射信息.相对于 Web 应用的根目录. 方法定义出:提供进一步的细分映射信息.相对于类定义处的 U ...

  6. SpringMVC使用注解@RequestMapping映射请求

    pringMVC通过使用@RequestMapping注解,实现指定控制器可以处理哪些URL请求. 控制器的类定义及方法定义处都可以标注@RequestMapping: 类定义处:提供初步的请求映射信 ...

  7. @RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用

    1.@RequestMapping Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注. @RequestMa ...

  8. 用@RequestMapping映射请求

    DispatcherServlet接受一个web请求之后,将请求发送给@Controller注解声明的不同控制器类. 这个调度过程依赖控制器类及其处理程序方法中声明的各种@RequestMapping ...

  9. SpringMVC学习笔记(三)

    一.SpringMVC使用注解完成 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setti ...

随机推荐

  1. 【Go】四舍五入在go语言中为何如此困难

    四舍五入是一个非常常见的功能,在流行语言标准库中往往存在 Round 的功能,它最少支持常用的 Round half up 算法. 而在 Go 语言中这似乎成为了难题,在 stackoverflow ...

  2. 对象的克隆(clone方法)

    1.深拷贝与浅拷贝 浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象.深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象. 2.深拷贝和浅拷贝的 ...

  3. LInux学习笔记之常用命令

    以下命令主要是平时用到的命令,对于一些经常用到的,就收集资料,归纳一下. 指令目录: 1.yum命令: 2.wget命令: 3.tar命令: 4../configure,make,make insta ...

  4. String被final修饰

    源码:

  5. MAC与ARP缓存中毒介绍

    ARP 协议 用于地址解析,请求MAC地址. arp -a 或者 -n 查看ARP缓存表 ls(ARP) 查看scapy里的协议字段 ARP缓存中毒原理 ARP收到ARP请求报文,会将发送方的mac地 ...

  6. vue踩坑记,持续更新中......

    1.运行项目报错 you may use special comments to disable some waring. use //eslint-disable-next-line.....吧啦吧 ...

  7. 【分享】wdcp服务器管理系统常用维护工具

    wdcp (WDlinux Control Panel) 是一套用PHP开发的Linux服务器管理系统,类似国外流行的cpanel,旨在易于使用和管理Linux服务器,可以在线通过网页管理服务器和虚拟 ...

  8. idea多模块启动

    2018版本的idea 原文链接http://zhhll.icu/2020/04/07/idea/idea%E4%B9%8B%E5%A4%9A%E6%A8%A1%E5%9D%97%E5%90%AF%E ...

  9. MATLAB在读取excel文件是发生错误,怎么解决?

    转载:https://blog.csdn.net/qq_38712026/article/details/78783422?utm_source=blogxgwz4

  10. Python 中的行向量、列向量和矩阵

    1.一维数组 一维数组既不是行向量,也不是列向量. import numpy as npa=np.array([1,2,3])print(np.shape(a))>>>(3,) 2. ...