早上群里有人说POST方法提交改成PUT就获取不到参数。
遂对PUT进行一番研究。
PUT和POST的定义:
使用PUT和POST插入新资源方面所起的作用的争议。HTTP1.1协议中都有新增和更新的定义。
由于所有的浏览器在提交 HTML 表单数据时都不支持 PUT方法(支持 GET和 POST),所以很难确定在哪种情况下使用哪种方法最为明智。
RESTful的定义是:
GET用于检索已知的 Resource 表示。
POST用于创建新的、动态命名的 Resource。
PUT用于编辑已知 Resource。不用它来创建 Resource。
DELETE用于删除已知 Resource。
问题:
HTTP协议PUT方法使用HTTP BODY提交参数时,使用tomcatAPI,httprequest.getParameter();无法获得参数值。
注:若采用GET方法的URL后带参数,可以获得参数值。
原因:
可能是API只能解析GET、POST方式的表单提交。其他一些传统的MVC框架也有类似现象
解决:
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(req.getInputStream()));
String line;
while ((line = in.readLine()) != null)
System.out.println(line);
}
使用原始的输入流手动解析传入参数。
分享到:
相关推荐
$_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。 $_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。 $_SERVER['QUERY_STRING'...
POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都可以与服务器完成查,改,增,删操作。 GET提交,请求的数据会...
2. 以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。 3. 支持HTTPS协议。 4. 通过Http代理建立透明的连接。 5. 利用CONNECT方法通过Http代理建立隧道的https...
它可以执行各种 HTTP 操作,如 GET、POST、PUT、DELETE 等,并支持许多不同的协议,如 FTP、SMTP、POP3、IMAP 等。 总的来说,curl 命令是一个功能强大的工具,支持多种协议和功能,可以在命令行中完成常见的网络...
本项目基于 Raft 分布式共识协议,实现一个简单 KV 数据库。该数据库支持 3 个操作,即 GET、PUT、APPEND。GET 操作能够获取一个 Key 对应的 Value。PUT 操作能够将一个 Key 对应的 Value 写入。APPEND 操作能够将...
Action类增加_param方法支持 可以自动根据当前提交类型 获取参数 Action类的_get _post方法支持多函数过滤 改进ajaxReturn方法 改进success和error方法 增加自动验证的规则 分组模式下 模型分组可以自动加载 ...
1.1.3 蓝牙协议体系结构........ PAGEREF _Toc120615559 \h 14 1.1.4 蓝牙应用模型及协议栈................. PAGEREF _Toc120615560 \h 17 1.1.5 蓝牙技术的应用............ PAGEREF _Toc120615561 \h 19 1.2 金瓯...
stream流类型在grpc的实际项目中是出现频率很高的数据类型,一般是位于交互参数或者返回值的位置: rpc Get_Stream(request) returns(stream response){}//获取数据流 rpc Put_Stream(stream request) returns...
//获取传入参数,列表样式,根据不同的参数获取不同的样式列表 String listStyle = DirectiveUtils.getString(PARAM_STYLE_LIST, params); if (InvokeType.sysDefined == type) { if (StringUtils.isBlank(list...
微型计算机和串行仪器加电后,微型计算机将自动读取所有可用的仪器参数(即设定点,值等)并将其发布到MQTT代理,并提供一个接口以使用HTTP或OPC进行获取UA。 通过发送以下JSON模式作为MQTT有效负载,HTTP PUT的...
因此,我添加了estimate_intrinsic以获取内部参数。 例子: 这里有些例子: 原始图片 裁剪图像 渲染图像 文件架构 ├─BFM same as Deep3DFaceReconstruction ├─dataset storing the corpped images │ └...
支持 HTTP API 获取 TiDB 参数信息 使用 Batch 方式 Resolve Lock,提升垃圾回收速度 支持多线程垃圾回收 支持 TLS 4.兼容性 支持更多 MySQL 语法 支持配置文件修改 `lower_case_table_names` 系统变量,用于...
} catch (Exception e) { System.err.println("获取邮件会话对象时发生错误!" + e); return false; } try { mimeMsg = new MimeMessage(session); // 用session对象来创建并初始化邮件对象 mp = new MimeMultipart...
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况 netstat -s 查看正在使用的所有协议使用情况 nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名 tracert -参数 ip(或...