当前位置:  开发笔记 > 编程语言 > 正文

Servlet参数和doPut

如何解决《Servlet参数和doPut》经验,为你挑选了1个好方法。

尝试使用HttpServlet#doPut从PUT请求获取参数:

public void doPut(HttpServletRequest request, HttpServletResponse response) {
    String name = request.getParameter("name");
    // name is null
}

使用curl发送请求:

curl  -X PUT \
      --data "name=batman" \
      --header "Content-Type: text/plain" http://localhost:8080/sample.html

使用doGet和GET curl请求可以正常工作.我错过了什么吗?



1> Erick Flemin..:

根据评论和进一步的研究,我意识到Servlet不能假设任何有关放入服务器的数据,因此不会解析名称/值对.

以下解决方案似乎是处理通过PUT传递的任何数据的正确方法,并且可以解析为XML,Name/Value或其他任何数据.

BufferedReader br = new BufferedReader(new InputStreamReader(req.getInputStream());

String data = br.readLine();


我遇到了同样的问题:我正在尝试实现restfull服务,PUT意在替换资源.Jetty在请求参数映射中提供所有数据,但tomcat却没有.
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有