您可以讓客戶端直接將請求發送到其他服務器。因此,而不是
<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