解决:Rest类无法取得HTTP PUT请求发送的参数
来源:互联网 发布:上帝之眼软件 编辑:程序博客网 时间:2024/06/06 03:21
rest类通过String id = request.getParameter("id");可以取得url传递过来的id参数值
但是,Put中的参数无法取得,如下
以下内容来自:http://dbscx.iteye.com/blog/828167
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);
- }
使用原始的输入流手动解析传入参数。
获取HTTP请求类型,比如:GET、POST、PUT、DELETE等
HttpServletRequest request;
request.getMethod();
- 解决:Rest类无法取得HTTP PUT请求发送的参数
- 解决AJAX发送PUT和DELETE请求,后台无法接收到参数
- 用HTTP的PUT方式发送请求
- Spring MVC无法接收PUT类请求参数的解决方案
- 解决 AngularJs $http 发送post,get请求,SpringMvc无法接受参数的问题。
- 解决Http PUT请求方式无法表单传参问题
- Java发送http的get、post、put请求
- REST架构下,浏览器怎么发送put与delete请求?
- 解决Ajax发送DELETE请求时无法传参数的问题
- springmvc put请求无法解析请求体参数解决办法
- httpclient发送put请求
- rest框架提交put请求
- .net http发送put、delete请求报405错误解决办法
- 模拟Http发送get、post、put、delete请求
- jersey webService客户端发送put请求并传递json参数
- Android/java 利用HttpUrlConnection 发送put请求,携带json参数
- java的Http的PUT请求
- Android中Http的Put请求
- hadoop之mapreduce实例
- css样式优先级
- SQLSERVER系统视图
- CountDownLatch使用
- 读写锁pthread_rwlock_t的使用
- 解决:Rest类无法取得HTTP PUT请求发送的参数
- Android开发设计模式04
- IReport 5 maven2配置POM.xml
- flash、fl、mx包的区别
- linux 中断机制的处理过程
- Struts2 拦截器处理普通Http请求和Ajax请求时拦截配置
- 视频专辑:郭宏志 JDBC视频教程
- spring aop 拦截spring mvc controller
- C语言中的字符和字符串