[英]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.