2010-08-27 57 views
1

我想要做的是從java類運行一個簡單的Servlet。從類似HTML代碼的java類啓動一個Servlet

其實我有一個Servlet1,它是通過一個後置動作從一個html代碼開始的。該servlet輸出一些其他html頁面,但也調用Java類。我現在要做的是啓動一個Servlet2,它從該java類輸出html代碼。我做了:

URL url = new URL("http://localhost:8080/WebApplication/Servlet2"); 
URLConnection conn = url.openConnection(); 
conn.setDoOutput(true); 
conn.setDoInput(true); 

但servlet2沒有在瀏覽器中打開,即使我在proccessRequest方法中輸出一些html代碼。

是不是Servlet2獲取請求?我錯在哪裏或者我失蹤了?

親切的問候,阿德里安娜

+0

你打算在這裏做什麼?兩個servlet是否在同一個容器中運行?你有權訪問他們的來源? – alex 2010-08-27 17:30:50

+0

非常非常混亂。你可以共享servlets完整的代碼嗎?如果已經嘗試過? – YoK 2010-08-27 17:58:29

回答

2

你的問題是含糊不清和功能需求不清,所以我不能給出詳細的答案如何實現特定的功能需求。

但至少,下面的語句是有點奇怪:

但servlet2沒有在瀏覽器中打開

這個特定的代碼將在沒有辦法打開在某些網頁瀏覽器中提到了這個URL。該Java代碼不會與本地機器上安裝的任何瀏覽器進行交互。如果您唯一的意圖是在本地計算機的默認瀏覽器(例如Firefox,MSIE等)中打開特定的URL,那麼您需要Desktop#browse()。例如。

Desktop.getDesktop().browse(new URI("http://google.com")); 

如果這也是你要找沒有什麼,那我就不知道了。我只能通過this topic來了解如何使用Java代碼以編程方式觸發和處理HTTP請求。可能您正在監視Web服務器的日誌文件,以查看是否請求了該servlet。這隻會在URLConnection實際觸發請求時發生。只調用openConnection()不會這樣做。

+0

乾杯!別客氣。不要忘記標記接受的答案,如果它有助於解決問題:)另請參閱http://stackoverflow.com/faq。 – BalusC 2010-08-27 18:01:27

+1

@Adriana - 如果答案適合您,將其標記爲已接受(在投票櫃檯下面打勾) – Bozho 2010-08-27 18:02:07