2009-09-26 141 views
1

我想設置一個JSP頁面:JSP:發送請求並獲得響應XML

注: 我試過用ajax類似於下面的代碼(如AJAXç得到「XML返回結果」從DDR服務器使用javascript頌)。它做得很好:

/**Send request*/ 
    http_request.onreadystatechange = alertContents; 
    http_request.open('GET', url + parameters, true); 
    http_request.send(null); 
    ..... 
/**get response from server*/ 
    return http_request.responseText; 

但現在我不想使用Javascript,只想通過JSP來做。

我該如何處理JSP?

謝謝!!!

回答

5

JSP並不適合這個; servlet可能會更好。如果必須在JSP做到這一點,你就必須做它在Java代碼片段:

<% 

URL url = new URL("http://ddr.mobileok.kr/profile/DeviceProfile.do?mn=SCH-W420"); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setRequestMethod("GET"); 
connection.connect(); 
InputStream stream = connection.getInputStream(); 
// read input stream directly or via DOM or via SAX or whatever 
%> 
+0

+1說,JSP是錯誤的技術這一點。 –

+0

謝謝。它對我有用。請幫助我更多。 我想將該XML轉換爲JSON(在java中執行)。我能怎麼做? – MartinJoo

+0

您可以編寫一個XSLT樣式表來做到這一點。如果您想「按原樣」翻譯整個XML,那麼已經有XSLT模板可以爲您完成。請查看http://code.google.com/p/xml2json-xslt/,或者http://www.google.com/search?q=xml+to+json+xslt瞭解更多選項。如果您需要選擇要映射的節點,您必須自己編寫自定義樣式表。 – ChssPly76

1

根據你想用你可以只使用一個jsp輸出該做什麼包括標籤。這些可以用來包括任何種類的頁面...

<jsp:include page="http://ddr.mobileok.kr/profile/DeviceProfile.do">  
    <jsp:param name="mn" value="SCH-W420" /> 
</jsp:include> 

但我會認爲這是錯誤的方式來做到這一點。

取而代之的是將其他答案中給出的java代碼用於servlet(或任何類型的控制器)中,然後解析xml,然後將其返回給視圖層。

如果要轉換此XML到JSON嘗試奇怪的命名badgerfish -

http://sujitpal.blogspot.com/2007/10/converting-xml-to-badgerfish-json.html

+0

謝謝。我想將該XML轉換爲JSON(在java中執行)。我能幫你嗎? – MartinJoo

+0

查看更新的答案 – Pablojim

相關問題