8. SpringMVC_RequestMapping_HiddenHttpMethodFilter 过滤器

SpringMVC基础(2)——常用注解、SpringMVC之响应 目录 1.常用注解 1.1 RequestParam 1.2 RequestBody 1.3 PathVariable (1)Restful风格 (2)演示PathVariable注解的示例代码: (3)HiddentHttpMethodFillter过滤器 1.4 RequestHeader 1.5 CookieValue 1.6 ModelAttribute (1)基于P... 阅读详情


REST
• REST:即 Representational State Transfer。(
资源)表现层状态转化。是目前
最流行的一
种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,
所以正得到越来越多网站的采用
•
资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它
可以是一段文本、一
张图片、一首歌曲、一种服务,总之就是一个具体的存在。
可以用一个URI(
统一资源定位符)指向它,每种资源对应一个特定的URI 。要
获取这个资源,访问它的URI就可以,因此URI 即为每一个资源的独一无二的识
别
符。
•
表现层(Representation):把资源具体呈现出来的形式,叫做它的表现层
(Representation)。比如,文本可以用 txt 格式表现,也可以用 HTML 格
式、XML 格式、JSON 格式表
现,甚至可以采用二进制格式。
•
状态转化(State Transfer):每发出一个请求,就代表了客户端和服务器的一
次交互
过程。HTTP协议,是一个无状态协议,即所有的状态都保存在服务器
端。因此,如果客
户端想要操作服务器,必须通过某种手段,让服务器端发生“
状
态转化”(State Transfer)。而这种转化是建立在表现层之上的,所以就是“
表
现层状态转化”。具体说,就是HTTP协议里面,四个表示操作方式的动
词
:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获
取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。



REST
• 示例:
– /order/1 HTTP GET :得到 id = 1 的 order
– /order/1 HTTP DELETE:删除 id = 1的 order
– /order/1 HTTP PUT:更新id = 1的 order
– /order HTTP POST:新增 order
• HiddenHttpMethodFilter:浏览器 form 表单只支持 GET
与 POST 请求,而DELETE、PUT 等 method 并不支
持,Spring3.0 添加了一个过滤器,可以将这些请求转换
为标准的 http 方法,使得支持 GET、POST、PUT 与
DELETE 请求。

@PathVariable 绑定 URL 占位符到入参
•
带占位符的 URL 是 Spring3.0 新增的功能,该功能在
SpringMVC 向
REST 目标挺进发展过程中具有里程碑的
意
义
• 通过 @PathVariable 可以将 URL 中占位符参数绑定到控
制器
处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable("xxx") 绑定到操作方法的入参中




/**
* Rest 风格的 URL. 以 CRUD 为例: 新增: /order POST 修改: /order/1 PUT update?id=1 获取:
* /order/1 GET get?id=1 删除: /order/1 DELETE delete?id=1
* 
* 如何发送 PUT 请求和 DELETE 请求呢 ? 1. 需要配置 HiddenHttpMethodFilter 2. 需要发送 POST 请求
* 3. 需要在发送 POST 请求时携带一个 name="_method" 的隐藏域, 值为 DELETE 或 PUT
* 
* 在 SpringMVC 的目标方法中如何得到 id 呢? 使用 @PathVariable 注解
* 
*/

web.xml code.

<!-- 
配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE 或 POST 请求 
-->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>


java code


@RequestMapping(value = "/testRest/{id}", method = RequestMethod.PUT)
public String testRestPut(@PathVariable Integer id) {
System.out.println("testRest Put: " + id);
return SUCCESS;
}


@RequestMapping(value = "/testRest/{id}", method = RequestMethod.DELETE)
public String testRestDelete(@PathVariable Integer id) {
System.out.println("testRest Delete: " + id);
return SUCCESS;
}


@RequestMapping(value = "/testRest", method = RequestMethod.POST)
public String testRest() {
System.out.println("testRest POST");
return SUCCESS;
}


@RequestMapping(value = "/testRest/{id}", method = RequestMethod.GET)
public String testRest(@PathVariable Integer id) {
System.out.println("testRest GET: " + id);
return SUCCESS;
}


jsp code



<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="PUT"/>
<input type="submit" value="TestRest PUT"/>
</form>
<br><br>

<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="DELETE"/>
<input type="submit" value="TestRest DELETE"/>
</form>
<br><br>

<form action="springmvc/testRest" method="post">
<input type="submit" value="TestRest POST"/>
</form>
<br><br>

<a href="springmvc/testRest/1">Test Rest Get</a>
<br><br>

FreeRTOS系统CPU使用率统计 操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。 阅读详情

相关推荐

欧姆龙PLC的FinsTCP协议

三个流行的PLC: PLC 通讯协议 默认IP和端口 区别 西门子S7-1200 S7 192.168.1.201 :102 2次验证(正常连接后,第一次发不断开,第二次发断开) 三菱Q系列 MC 192.168.1.250 :4096 不验证(正常连接后,怎么发都不断开) 欧姆龙CJ-2M系列 FinsTCP 192.168.1.14 :9600 1次验证(正常连接后,第一次发断开) ...

周林的博客 1万+

RequestMapping注解以及HiddenHttpMethodFilter过滤

一. RequestMapping修饰类 SpringMVC使用@RequestMapping注解为请求处理器指定映射的URL,我们的HelloWorld程序中,@RequestMapping注解是修饰在目标方法上,实际上此注解也可以修饰在类上。 @Controller //表示是一个控制器 @RequestMapping("/hello") public class HelloWorld { /** * sayHello 我们称之为请求处理器的 目标方法,每一个带有@RequestMapping注解的

哈哈哈 762

ADS2023实战:手把手教你用Load-Pull设计40W LDMOS功率放大器(附工程文件)

本文以飞思卡尔MRF8P9040N LDMOS晶体管为例,详细介绍了在ADS 2023中设计一款40W功率放大器(PA)的全流程。内容涵盖从直流偏置设置、稳定性分析、核心的负载牵引(Load-Pull)仿真,到基于Smith圆图的匹配网络设计、谐波平衡性能验证,直至版图生成与优化。文章提供了手把手的实战指导和工程文件,旨在帮助射频工程师掌握高效率PA的设计方法与关键技巧。

cake8的博客 1073

SpringMVC框架 学习DAY_03:@RequestMapping注解/拦截器与过滤器

1. 关于@RequestMapping注解 在控制器中,在处理请求的方法之前添加@RequestMapping注解,可以配置请求路径与处理请求的方法的映射关系! 在@RequestMapping注解的源代码中有: /** * The primary mapping expressed by this annotation. * <p>This is an alias for {@link #path}. For example, * {@code @RequestMapping("/fo

litter_m的博客 1633

常见图像加密性能评价指标(详解加python实现)

前言 本文目的 介绍一些常见的用于图像加密的评价指标并予以代码实现,方便以后做实验时参考查阅。 图像加密领域所有常见的安全分析技术汇总如下图。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7N8tbKNx-1618308894314)(%E5%B8%B8%E8%A7%81%E5%9B%BE%E5%83%8F%E5%8A%A0%E5%AF%86%E6%80%A7%E8%83%BD%E8%AF%84%E4%BB%B7%E6%8C%87%E6%A0%87/1-s2.0-S0165

z2bns的博客 3万+

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

1.新建shp文件地理坐标系保持和影像一致,面类型2.打开属性表3.添加字段这里分类6类,点击添加值添加添加完毕开始人工选地物类型,制作数据集开始标注,标注的时候可以借助谷歌地图来看标记足够多的样本打开面转栅格工具设置nodata值为15。

热爱分享,热爱记录 2526

spring boot过滤器实现项目内接口过滤

现在存在问题是,路由中心集成了微信公众号与小程序模块功能,业务系统部署了多套服务.由于业务需求,存在两套项目,一套是路由中心,一套是业务系统.现在需要通过调用路由中心将接口重新路由到指定的业务系统中。

z1ztai的博客 270

华为OD机试双机位C卷:日志排序 (Py/C/C++/Java/Js/Go)

华为OD机试双机C卷真题【日志排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-日志排序。

qq_45776114的博客 1754

SpringMvc---对请求映射设置过滤条件(RequsetMapping)

SpringMvc---对请求映射设置过滤条件(RequsetMapping)1、普通请求映射处理2、method参数使用3、params参数使用4、headers参数使用5、consumes参数使用6、produces参数使用7、RequestMapping映射的路径也可支持通配符 1、普通请求映射处理 @RequestMapping:RequestMapping可以定义在类上也可以定义在方法上,主要的功能就是路径的请求映射。 当绑定在类上时,所有方法的路径必须加上类上面注解的Value。 @Cont

qq_41931364的博客 479

把云端打印带回办公室:通信场景 SAP_COM_0466 打通 SAP BTP ABAP environment 与本地打印机的 Pull Integration 实战

摘要: 本文探讨云端SAP系统如何通过SAP_COM_0466通信场景实现与本地打印机的安全连接。核心方案采用Pull Integration模式,由本地组件(如SAP Cloud Print Manager或第三方OMS)主动从云端打印队列拉取任务,避免网络边界冲突。配置流程涵盖通信安排创建、打印队列绑定及权限管理,并强调队列类型必须选择"Pull Integration Queue"的关键细节。方案通过分离云端生产与本地打印环节,既保障安全性又便于运维监控,适用于SAP BTP AB

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 145

Python爬虫抓取学术期刊数据(Springer、Elsevier)

本文详细介绍了如何使用Python爬虫抓取学术期刊网站(如Springer、Elsevier)上的文章信息,并进行数据清洗和存储。我们使用了requestsSeleniumpandas等技术,通过模拟浏览器行为来绕过反爬虫机制,并将数据保存为Excel文件,方便后续分析。未来,我们可以通过加入更多的期刊网站数据源,扩展爬虫的功能,抓取更多的学术数据。同时,结合自然语言处理(NLP)技术,可以对抓取的文章进行自动化的摘要提取和主题分类,为学术研究提供更多的支持。

2201_76125261的博客 1487

Spring MVC 入门指南(二):@RequestMapping用法详解

为什么80%的码农都做不了架构师?>>> ...

weixin_34090562的博客 8409

SpringBoot实现快速导入EXCEL

MaterialMonitorController.java @Log(title = "物料监测", businessType = BusinessType.IMPORT) @RequiresPermissions("system:materialMonitor:import") @PostMapping("/importData") @ResponseBody ...

LEN程序员的一生 4817

【springMVC】RequestMapping_HiddenHttpMethodFilter 过滤器在tomcat7/8实现的问题

RequestMapping_HiddenHttpMethodFilter 过滤器在tomcat7/8实现的问题:HTTP Status 405 - JSPs only permit GET POST or HEAD

yanlzhl的博客 2377

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringMVC---RequestMapping_HiddenHttpMethodFilter

一:REST REST:即Representational State Transfer。(资源)表现层状态转化,是目前最流行的一种互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便。所以正得到越来越多的网站使用。 资源(Resources):网络上的一个实体,或者说网络上的一个具体信息,它可以是一个文本,一个图片,一个歌曲,一个服务,总之就是一个具体的存在,可以用一个URI(统一资源...

qq_39093474的博客 233

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SpringMVC_RequestMapping_HiddenHttpMethodFilter 过滤器

REST详解参考文章:web.xml&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://j

hoho_12 352

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

httpservletrequest 设置请求头_SpringMVC RequestMapping请求数据响应数据

SpringMVC是一种轻量级的、基于MVC的Web层应用框架。通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。优点:  1、天生与Spring框架集成,如:(IOC,AOP)  2、支持Restful风格  3、支持灵活的URL到页面控制器的映射  4、非常容易与其他视图技术集成,如:...

weixin_39957271的博客 5123

SpringMVC——RequestMapping

一、@RequestMapping 映射请求 Spring MVC通过@RequestMapping注解可以定义不同的处理器映射规则。 @RequestMapping放在类名上边,设置请求前缀 方法名上边设置请求映射url 二、映射请求参数、请求方法或请求头 @RequestMapping 除了可以使用请求 URL 映射请求外, 还可以使用请求方法、请求参数...

weixin_30323961的博客 104

使用requestmapping进不去控制器_@RequestMapping用法详解

一、@RequestMapping 简介在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置<servlet> <servlet-name>servletName</servlet-name> <servlet-class&g...

weixin_39933026的博客 1245

SpringMVC笔记

文章目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xmla>默认配置方式b>扩展配置方式4、创建请求控制器5、创建springMVC的配置文件6、测试HelloWorlda>实现对首页的访问b>通过超链接跳转到指定页面7、总结三、@RequestMapping注解1、@RequestMap

InnocenceHT的博客 738

SpringMVC-RequestMapping与Rest请求风格的使用

RequestMapping详解 属性详解 path 请求路径 method 规定请求方式 //规定请求方式 @RequestMapping(path = "/hello02", method = RequestMethod.POST) public String requestMethod() { System.out.println("requestMethod..."); return "success"; } params 规定请求参

qq_44486437的博客 415

SpringMVC篇-@RequestMapping注解

@RequestMapping (1)Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求 (2)DispatcherServlet 截获请求后,就通过控制器上 @RequestMapping 提供的映射信息确定请求所对应的处理方法 使用@RequestMapping映射请求 @RequestMapping 除了修饰方法, 还可来修饰类 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录 方法处: 提供进一步的细分映射信息。 相对于类定义处的

cV展示的学习园 282

java ee8 mvc1_JavaEE——SpringMVC(1)--@RequestMapping

1. @RequestMapping 除了修饰方法, 还可来修饰类2. 1). 类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录2). 方法处: 提供进一步的细分映射信息。 相对于类定义处的 URL。若类定义处未标注 @RequestMapping,则方法处标记的 URL相对于 WEB 应用的根目录常用: 使用 method 属性来指定请求方式@RequestMapping(va...

weixin_42491590的博客 177

[SpringMVC] SpringMVC

org.springframework spring-webmvc 5.3.1 org.thymeleaf thymeleaf-spring5 3.0.

icPigeon的博客 150

SpringMVC之使用@RequestMapping映射请求

(一)控制器的类定义及方法定义处都可以标注@RequestMapping 方法定义后: @RequestMapping("/testRequestMapping") public String testRequestMapping() { System.out.println("testRequestMapping"); return SUCCESS; } <a href="testRequestMapping">Test RequestMapping</a> 类定义后: @

Kitty_2的博客 320
上一篇: eclipse:Workspace in use or cannot be created
下一篇: 9. SpringMVC_RequestParam 注解
hellowindowns
博客等级 码龄16年 11粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值