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. spring mvc与mybatis事务整合

    之前公司用的是mybatis,但事务管理这块是用ejb的CMT容器管理的事务.基本原理是ejb请求进来,业务代码会创建一个mybatis的session然后放入当前线程,之后所有的方法操作涉及到数据库 ...

  2. vue 导入.md文件(markdown转HTML)

    前言 刚接到这个需求的时候,觉得很简单(的确很简单)但是这玩意的坑真的也让人无奈. 网上找了很多的资料,都没有写出痛点(这就很难过了).通过实践并且在我们项目中平稳运行,想分享给后面的人 我的博客上也 ...

  3. 循序渐进VUE+Element 前端应用开发(30)--- ABP后端和Vue+Element前端结合的分页排序处理

    在很多列表展示数据的场合中,大多数都会需要一个排序的处理,以方便快速查找排序所需的数据,本篇随笔介绍如何结合ABP后端和Vue+Element前端结合的分页排序处理过程. 1.Vue+Element前 ...

  4. flink集群模式安装配置

    一.手动下载安装包 wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.6.1/flink-1.6.1-bin-hadoop27 ...

  5. Access-Control-Allow-Headers等基础常识

    跨源资源共享 (CORS) (或通俗地译为跨域资源共享)是一种机制,该机制使用附加的 HTTP 头来告诉浏览器,准许运行在一个源上的Web应用访问位于另一不同源选定的资源. 当一个Web应用发起一个与 ...

  6. C# 串口连接的读取与发送

    一.串口连接的打开与关闭 串口,即COM口,在.NET中使用 SerialPort 类进行操作.串口开启与关闭,是涉及慢速硬件的IO操作,频繁打开或关闭会影响整体处理速度,甚至导致打开或关闭串口失败. ...

  7. win8.1下jdk的安装和环境变量的配置 eclipse的安装和汉化

    1.首先下载jdk安装包,安装的时候会有两个文件安装,一个是jdk一个是jre建议两个文件不要安装在一个目录下 2.安装jdk后面就是配置环境变量,path和classpath,path要在用户变量中 ...

  8. spark-streaming-连接kafka的两种方式

    推荐系统的在线部分往往使用spark-streaming实现,这是一个很重要的环节. 在线流程的实时数据一般是从kafka获取消息到spark streaming spark连接kafka两种方式在面 ...

  9. 基于nginx实现web服务器的双机热备

    1.适用场景 对于部署重要的服务,会使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务.双机热 ...

  10. Flutter 布局类组件:弹性布局(Flex)

    前言 弹性布局允许子组件按照一定比例来分配父容器空间,Flutter中的弹性布局主要通过Flex和Expanded来配合实现. Flex Flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方 ...