Java 从servlet调用servlet

Java 从servlet调用servlet,java,http,servlets,post,multipartform-data,Java,Http,Servlets,Post,Multipartform Data,我想从另一个servlet调用一个servlet,做两件事: 将内容类型设置为“多部分/表单数据” 将方法设置为“POST” 这很容易从一个表单中完成,但我需要从另一个servlet中完成。有什么想法吗?您可以使用java.net.HttpUrlConnection或者Apache HTTP客户端向另一个servlet发送POST/GET请求。基本上,您将以与浏览器相同的方式调用另一个servlet。这听起来像是请求,或者是您正在寻找的。您实际执行的操作将取决于您打算对目标servlet的输出执

我想从另一个servlet调用一个servlet,做两件事:

  • 将内容类型设置为“多部分/表单数据”
  • 将方法设置为“POST”

  • 这很容易从一个表单中完成,但我需要从另一个servlet中完成。有什么想法吗?

    您可以使用
    java.net.HttpUrlConnection
    或者Apache HTTP客户端向另一个servlet发送POST/GET请求。基本上,您将以与浏览器相同的方式调用另一个servlet。

    这听起来像是请求,或者是您正在寻找的。您实际执行的操作将取决于您打算对目标servlet的输出执行的操作。你打算以某种方式展示它吗?或者你只是简单地抛弃它?在某些情况下,您可能需要在调用这些方法的方式上更具“创造性”(例如,创建自己的请求/响应实例,或者包装当前请求/响应,以便隔离状态更改)


    或者,为了保持简单,您可能只需要打开一个网络连接,以Jeff的身份连接到目标servlet的映射URL。

    听起来您想用java发送HTTP POST。我建议使用ApacheHttpClient。看看这个问题


    您也可以使用纯java with(HttpUrlConnection)[.

    来实现这一点。您无法更改传入的请求,包装将没有多大意义。您确实需要创建一个全新的请求。但是,我有一种印象,OP正在寻找解决其具体问题的错误方法(他没有告诉任何事情,因此建议正确的解决方案是不可能的)。HttpClient工作得很好,谢谢。虽然我有一个问题,你如何设置内容类型?我对HttpClient不是很熟悉,但请查看HttpMethod中的addRequestHeader。我想你可以用它指定你的内容类型。