Servlet参数和doPut

尝试使用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请求可以正常工作。我想念什么吗?

回答:

基于评论和进一步的研究,我意识到Servlet无法假定有关将数据放入服务器的任何信息,因此不会解析名称/值对。

以下解决方案似乎是处理通过PUT传递的任何数据的正确方法,并且可以解析为XML,名称/值等。

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

String data = br.readLine();

以上是 Servlet参数和doPut 的全部内容, 来源链接: utcz.com/qa/416943.html

回到顶部