Spring MVC 根据请求方法限定:请求方法(四)
| 请求方法 | 说明 |
|---|---|
| GET | 使用GET方法检索一个表述(representation)——也就是对资源的描述。多次执行同一GET请求,不会对系统造成影响,GET方法具有幂等性[指多个相同请求返回相同的结果]。GET请求可以充分使用客户端的缓存。 |
| POST | POST方法,通常表示“创建一个新资源”,但它既不安全也不具有幂等性(多次操作会产生多个新资源)。 |
| DELETE | 表示删除一个资源,你也可以一遍又一遍地操作它,直到得出结果:删除不存在的东西没有任何问题 |
| PUT | 幂等性同样适用于PUT(基本的含义是“更新资源数据,如果资源不存在的话,则根据此URI创建一个新的资源”) |
示例1:
@RequestMapping(value=“/delete”)
public String delete(@RequestParam("accountId") String accountId){
return "accountId/test1";
}
所有URL为/delete的请求由delete处理(任何请求方法)
示例2:
// 在4.3以上版本中,可以用@DeleteMapping
@RequestMapping(value="/delete",method=RequestMethod.DELETE)
public String delete(@RequestParam("accountId") String userId){
return "accountId/test1";
}
所有URL为/delete 且请求方法为DELETE 的请求由delete方法处理
模拟请求方法
通过在web.xml中配置一个org.springframework.web.filter.HiddenHttpMethodFilter
通过POST请求的_method参数指定请求方法,HiddenHttpMethodFilter动态更改HTTP头信息。

通过请求/请求头参数限定:示例
通过请求参数限定:
@RequestMapping(value="/delete", params="accountId")
public String test1(@RequestParam("accountId") String accountId){
//TODO
}
通过请求头参数限定:
@RequestMapping(value="/show",headers="content-type=text/*")②
public String test2(@RequestParam("userId") String userId){
//TODO
}
通过请求/请求头参数限定:更多
params和headers分别通过请求参数及报文头属性进行映射,它们支持简单的表达式,下面以params表达式为例说明,headers可以参照params进行理解。
- “param1”:表示请求必须包含名为param1的请求参数。
- “!param1”:表示请求不能包含名为param1的请求参数。
- “param1!=value1”:表示请求包含名为param1的请求参数,但其值不能为value1。
- {“param1=value1”,”param2”}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1。
Spring MVC 根据请求方法限定:请求方法(四)的更多相关文章
- spring mvc(2):请求地址映射(@RequestMapping)
@RequestMapping 参数说明 value定义处理方法的请求的 URL 地址.method定义处理方法的 http method 类型,如 GET.POST 等.params定义请求的 UR ...
- spring mvc 坑之PUT,DELETE方法接收不到请求参数
https://www.cnblogs.com/roobtyan/p/9576685.html 原因: Tomcat处理参数的问题: 1.将请求体中的数据,封装成一个map 2.request. ...
- 2,Spring MVC 学习总结(二)- 方法(Action)参数映射
一,Controller层方法(Action)参数映射 1,自动参数映射 1.1,基本数据类型参数映射 方法的参数可以是任意基本数据类型,如果方法参数名与http中请求的参数名称相同时会进行自动映射. ...
- 精尽Spring MVC源码分析 - 一个请求的旅行过程
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- spring mvc后台如何处理ajax的请求,并返回json
spring mvc中有一个注解:@ResponseBody,把这个注解放到ajax请求对应的@RequestMapping(xxx)方法上,在方法体内部,把要返回的json赋给一个String类型的 ...
- 【Spring MVC】spring mvc中相同的url请求返回不同的结果
在项目中凡是使用Spring MVC这种控制器的,大多都是返回JSON数据对象,或者JSP页面. 但是相同的URL请求如何让他自动的选择放回的是什么? 在这里有由于鄙人没有亲自测试过,就不敢乱贴代码, ...
- 【spring】spring boot中使用@EnableTransactionManagement 以后,spring mvc接收前台ajax的post方法传过来的参数,使用@RequestBody接收不到参数
在启动类上添加了注解: @EnableTransactionManagement, postMan测试接口,以这种方式传递参数: 测试结果: 接收不到参数 问题解决: 原因:是因为 这个项目中的Con ...
- spring mvc 通过拦截器记录请求数据和响应数据
spring mvc 能过拦截器记录请求数据记录有很多种方式,主要有以下三种: 1:过滤器 2:HandlerInterceptor拦截器 3:Aspect接口控制器 但是就我个人所知要记录返回的数据 ...
- Spring MVC(三)--控制器接受普通请求参数
Spring MVC中控制器接受参数的类方式有以下几种: 普通参数:只要保证前端参数名称和传入控制器的参数名称一致即可,适合参数较少的情况: pojo类型:如果前端传的是一个pojo对象,只要保证参数 ...
随机推荐
- 【转载】使用Exp和Expdp导出数据的性能对比与优化
转自:http://blog.itpub.net/117319/viewspace-1410931/ 序:这方面的文章虽然很多人写过,但是结合实际进行详细的对比分析的不多,这里,结合所在公司的行业,进 ...
- FPGA开发流程1(详述每一环节的物理含义和实现目标)
要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体 ...
- C#生日提醒小工具
一个很粗糙的版本,就当一个小例子看一下吧, 运行效果如下: 开发环境VS2017,用的WinForm,涉及一点xml,直接上图. 一.项目涉及的文件如下图: 二.每个文件内容: 1.MainForm ...
- JS高程3:函数表达式
定义函数的方式有2种: 函数声明 函数表达式 函数声明是最常用的,函数声明的一个特征就是:在执行代码之前,就已经读取了函数声明. 这个特征还有一个专门的术语:函数声明提升. 递归函数 所谓递归函数,就 ...
- c# 获取Excel内容的分析
现在主流的Excel文档有2003和2007 c#获取 Excel2003 连接字符串 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; ...
- iOS崩溃解决记录
Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contai ...
- How to add total page to Odoo Report(7.0 version)
add this codes to your rml file: <drawRightString x="19.5cm" y="0.3cm">Pag ...
- poj3680 Intervals 区间k覆盖问题 最小费用最大流 建图巧妙
/** 题目:poj3680 Intervals 区间k覆盖问题 最小费用最大流 建图巧妙 链接:http://poj.org/problem?id=3680 题意:给定n个区间,每个区间(ai,bi ...
- ExtJS TreeGrid的使用方法
假设您是第一次使用ExtJS的TreeGrid的话,我相信总会有一些小麻烦的,以下就来说一说ExtJS中TreeGrid的使用. 本人使用的ExtJS版本号为4.1.1,而且使用了MVC模式.假设不了 ...
- php-fpm 如果dm设置为 static,那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。
php-fpm未优化网友反映的问题 1.最近将Wordpress迁移至阿里云.由于自己的服务器是云服务器,硬盘和内存都比较小,所以内存经常不够使,通过ps ax命令查看后,发现启动php-fpm进程数 ...