我想向另一个JAVA servlet发送一个PUT/POST
请求,告知某些内容已经完成。我不想发送任何内容。说URL是;
putURL = "http://"+recorderIp+":"+recorderPort +"/vodingest/rec/"+recId+"/completed"
我没有要发送的任何内容(文件内容)。一旦用PUT/POST
方法看到这个请求,他就会知道某些事情已经完成并且有必要。
如何在JAVA servlet中执行此操作。请帮帮我。
答案 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?