您可以让客户端直接将请求发送到其他服务器。因此,而不是
<form action="generatereport" method="post">
使用
<form action="http://other.com/generatereport" method="post">
任何额外的参数可以通过<input type="hidden">
传递。
或者,如果支持GET,你可以代替method="get"
也只是做
<a href="http://other.com/generatereport?param=foo">
或
response.sendRedirect("http://other.com/generatereport?param=foo");
或者,如果有一定的安全限制和/或客户端不应该知道其他服务器的URL,那么你最好的选择就是自己和他一起玩代理lp URLConnection
。
URLConnection connection = new URL("http://other.com/generatereport").openConnection();
// Copy necessary request headers from request.getHeader() to connection.setRequestProperty().
// If POST, copy request.getInputStream() to connection.getOutputStream() as well.
// Copy necessary response headers from connection.getHeaderField() to response.setHeader().
// Finally copy connection.getInputStream() to response.getOutputStream().
什么是功能要求? webapps/servlets应该做什么?为什么你会举个例子,不是只发送一个重定向到另一个webapp?只有这样我们才能提出“最好”的方法。 Websphere上的 – BalusC 2011-03-23 03:03:34
应用程序基于通过tomcat服务器从客户端传递给它的参数生成特定报告。这些报告以字节流的形式传输回Tomcat服务器并转换为PDF文件。这些PDF文件在基于浏览器的客户端上发布。 – user662363 2011-03-23 03:09:52
基本上,我们有两层服务器(tomcat和WAS)WAS服务器位于防火墙后面的安全区域中,出于安全原因无法直接暴露给客户端。 WAS服务器上的应用程序基于servlet。我想在TOmcat上有一个servlet来连接到WAS,在bytestream中获得响应并将其转换回PDF。任何更好的方法? – user662363 2011-03-23 03:12:41