首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

HTTP协议PUT方法获取参数有关问题

2012-09-05 
HTTP协议PUT方法获取参数问题早上群里有人说POST方法提交改成PUT就获取不到参数。遂对PUT进行一番研究。PUT

HTTP协议PUT方法获取参数问题

早上群里有人说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);}

使用原始的输入流手动解析传入参数。









?

热点排行