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. 运行命令区分webpack环境,以及axios数据请求的封装

    在开发环境和线上环境时,由于环境的不同,有时候需要修改一定的代码,可以通过配置webpack环境来减少对代码的修改:另外,有时候去看别人的代码,你可能都找不到他的数据请求在什么位置,最近在做一个vue ...

  2. 一文讲尽门面日志slf4j和log4j、log4j2、logback依赖jar引用关系

    公众号Mac代码分割阅读链接 前言 之前都是使用SparkStreaming开发,最近打算学习一下Flink,就从官网下载了Flink 1.11,打算搞一个客户端,将程序提交在yarn上.因为Flin ...

  3. oracle 客户端与服务器端字符集原理(转自totozlj)

    1.环境假设: 名词解释:应用程序页面即用户在浏览器中看到的页面,一般程序员在写页面的时候都会在页面中设置编码,这个编码也即是数据在浏览器到web服务器间传输的编码,如果不设置则默认iso-8859的 ...

  4. Spring Boot 2.x基础教程:多个文件的上传

    昨天,我们介绍了如何在Spring Boot中实现文件的上传.有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法. 动手试试 本文的动手环节将基于Spring ...

  5. [Abp]Abp 新手入门随记

    项目结构说明 *.Application 应用服务实现 *.Application.Contracts 包含DTO及应用服务接口 *.DbMigrator 数据迁移项目 开发和生产环境迁移数据库架构和 ...

  6. HarmonyOS分布式任务调度开发之--你必须知道的bundleName

    背景 最近基于HarmonyOS在写一个通讯录的项目,已经完成了一个java版本的通讯录,通讯录数据全部存储在sqlite数据库中.现在在着手写一个JS版本的通讯录,这时候关于JS版本中数据的读取,我 ...

  7. Go语言从入门到放弃(设置 go get 为国内源)

    前言 Go语言学到 Gin 框架了, 其实每天学习是比较辛苦的事情, 坚持下去! 在使用 Go 过程中发现, 最无奈的是Go的一些模块下不下来, 即便挂了V, 油管2k不卡的那种, 依旧是 time ...

  8. Macbook 安装Windows的完美教程

    [原文](http://www.melodydance.top/mac-win.html) 1. 背景 Windows相对于Mac市场占有率更高,对很多人来说Windows使用起来更方便,以至于很多人 ...

  9. 安装percona-toolkit

    http://www.percona.com/software/percona-toolkityum -y install perl-DBIyum -y install perl-DBD-mysqly ...

  10. 【Linux】使用grep快速比较两个文件不同

    两个文件的比较,会有同学说使用diff,和vimdiff就可以快速比较,为什么还要使用grep呢? 有些时候,diff和vimdiff的时候环境不符合,这样的情况,就可以使用grep来解决这个问题. ...