2011-10-14 65 views
2

我想從另一個servlet做兩件事情調用一個servlet:調用Servlet中的servlet

  1. 設置內容類型爲 「multipart/form-data的」
  2. 設置方法爲 「POST」。

這很容易從表單中完成,但我需要從另一個servlet中完成。任何想法如何?

回答

3

您可以使用java.net.HttpUrlConnection或者Apache HTTP客戶端向其他servlet發送POST/GET請求。你將基本上以與瀏覽器相同的方式調用另一個servlet。

+0

HttpClient完美工作,謝謝。雖然我確實有一個問題,但您如何設置內容類型? – fernandohur

+0

我不熟悉HttpClient,但在HttpMethod中查看addRequestHeader。我認爲你可以指定你的內容類型。 – jeff

1

這聽起來像是要求forwardinginclude是你在找什麼。你實際做的將取決於你打算如何處理目標servlet的輸出。你打算以某種方式顯示它嗎?或者你只是放棄它?在某些情況下,在調用這些方法(例如,創建自己的請求/響應實例或包裝當前請求/響應以隔離狀態更改)方面,您需要更具「創造性」。

或者,爲了簡單起見,您可能需要打開一個到目標servlet的映射URL的網絡連接,如Jeff suggested

+0

你不能改變傳入的請求,包裝沒有多大意義。你真的必須創建一個全新的請求。然而,我有這樣的印象:OP正在尋找解決他具體問題的錯誤角落(他沒有透露任何有關問題,因此建議正確的解決方案是不可能的)。 – BalusC