2012-08-29 59 views
1

我不熟悉Java Servlet编程,并且有关于如何使用Servlet编程处理来自其他服务器(不是用户的POST请求)的POST响应的问题。如何使用Servlet处理POST响应

假设我的应用程序需要咨询另一台服务器以处理用户请求。我需要

  1. 发送异步POST请求(即,在请求POST体指定redirect_uri)到其它服务器;
  2. 处理来自其他服务器的POST响应;
  3. 给用户一些结果。

我想我需要一个Servlet来处理用户的请求和发送POST请求到其他服务器,我需要另一个servlet(因为POST请求是异步),以处理来自其他服务器的POST响应。我的具体问题是:

  1. 什么是送在这种情况下POST请求的最佳方式?例如,使用HttpUrlConnection

  2. 如何在Servlet中处理POST响应?它使我困惑,因为servlet应该处理“请求”而不是“响应”,但在这种情况下,传入的消息确实是来自其他服务器的响应POST。尤其是,如果您能指出相关的API /方法,那将非常有帮助。例如,在doPost()?如何获得POST响应正文? (我认为我们可以从HttpServletRequest对象中得到它)。

非常感谢!
Yue

+0

如果你等待的POST的结果呈现的东西的用户,你应该同步做。 –

回答

0

我不明白'POST Response'这个词。但是如果我正确理解了你的需求,可能你会谈论servlet链接场景。

的Servlet链意指一个小服务程序行为的输出作为输入到 另一个servlet。 Servlet别名允许我们在使用通用servlet 别名打开URL时依次调用多个 servlet。第一个Servlet的输出作为输入发送到其他Servlet 等等。来自最后一个Servlet的输出被发送回 浏览器。整个过程称为Servlet链接。

Example of Servlet Chaining

+0

其他服务器不是由我维护的。其实我误解了协议,而其他服务器在我的Servlet发送POST请求后立即发送POST响应。所以POST请求不是异步处理的。实际上,目前没有办法像下面提到的ajay一样实现异步POST请求。总之,我的误解导致了这个“无解”问题:)对此抱歉。 – user1631973