在JAVA servlet中没有内容的put / post请求

时间:2014-12-11 09:54:39

标签: java servlets

我想向另一个JAVA servlet发送一个PUT/POST请求,告知某些内容已经完成。我不想发送任何内容。说URL是;

putURL = "http://"+recorderIp+":"+recorderPort +"/vodingest/rec/"+recId+"/completed"

我没有要发送的任何内容(文件内容)。一旦用PUT/POST方法看到这个请求,他就会知道某些事情已经完成并且有必要。

如何在JAVA servlet中执行此操作。请帮帮我。

2 个答案:

答案 0 :(得分:1)

我们有很多方法可以将请求发送到另一个servlet。

1)发送重定向

request.sendRedirect("myServletName.java")

2)LInk

out.println("<a href=\"http://localhost:8080/HelloWorld/myServlet\"> Hello World Servlet </a>");

3)请求调度程序

 request.getRequestDispatcher("/myServletName").forward(request, response);

并且在请求对象中,您也可以将值传递给另一个servlet。

request.setParams("recId" , "completed")

我想第三种选择对你来说更好。希望能解决你的问题。

答案 1 :(得分:0)

首先,PUT默认情况下未在Web服务器(包括Tomcat)上启用,因此在尝试此操作之前,请确保已启用PUT或坚持POST。如上所述,如果您的两个servlet(假设有两个servlet)位于同一个容器下,则可以进行调度。否则,如果您是从独立客户端进行此操作,则方法会有所不同。以下内容适用于所有环境:

使用HttpURLConnection(https://docs.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html) 使用setRequestMethod进行POST 如果需要从流中进行写入和读取,请使用doInput / doOutput(在您的情况下,我认为不需要)。

这是一种相对简单的方法,可行。如果您需要更灵活的客户端,可以使用Apache Commons HTTP Client。

有一点需要注意的是,如果你没有什么可写的,也没有什么可读的,你为什么要考虑使用PUT?