繁体   English   中英

从Java Web应用程序使用Apache,Tomcat和modjk发布到HttpURLConnection

[英]Posting to HttpURLConnection with Apache, Tomcat and modjk from Java web application

我遇到了一个问题,但我不知道该如何解决。 我在Tomcat上部署了一个Java应用程序。 Tomcat是使用modjk在Apache后面的。 在应用程序中,我将一些XML发布到如下URL:

URLConnection uc = url.openConnection();
HttpURLConnection conn = (HttpURLConnection) uc;
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-type", "text/xml");
PrintWriter pw = new PrintWriter(conn.getOutputStream());
pw.write(xml);
pw.close();
ServletOutputStream stream = response.getOutputStream();
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
int readBytes;
while ((readBytes = bis.read()) != -1) {
  stream.write(readBytes);
}
bis.close();
stream.close();

该URL指向另一台服务器上的Web应用程序。

如果我直接从tomcat运行应用程序,则一切正常。 发布XML之后,请求的页面将在浏览器中打开。

如果我使用带有modjk的apache运行应用程序,则仅显示请求页面的HTML代码,而不显示呈现的页面。 该应用程序的其余部分工作正常。

我想使用apache和modjk向URL发布存在问题。 有谁知道如何解决这个问题?

我想出了解决这个问题的方法。 我只需要显式设置内容类型:

response.setContentType("text/html;charset=UTF-8");

仅使用tomcat并不是必需的,但是在使用apache作为反向代理时似乎是必需的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM