2013-01-11 21 views
1

我在這個URL上安裝了一個應用程序:http://localhost:8080/servlet/xml。該servlet支持兩種傳遞參數的方式 - 作爲查詢字符串和路徑信息(例如http://localhost:8080/servlet/xml?name =/test/my.xmlhttp://localhost:8080/servlet/xml/test/my.xml)。 它旨在將默認轉換應用於位於服務器上的引用XML文件,生成一個HTML文件並將其發送回瀏覽器。有些東西是錯誤的,即使servlet在兩種情況下都生成完全相同的html,瀏覽器在第一個示例中將其呈現爲HTML,而在第二個示例中將其呈現爲XML。而且,當我比較這兩種情況下的HTTP響應(包括狀態碼,標題和正文)時,結果表明它們是相同的。這怎麼可能?這個servlet有什麼問題?我的servlet或瀏覽器有什麼問題?

+2

您是否已正確設置了內容類型和內容處置標頭?我認爲瀏覽器試圖根據這裏的URL推斷內容類型。 – adarshr

+0

聽起來很像設置正確的內容類型會解決這個問題。 @adarshr我認爲你應該發佈這個答案。 – Szocske

+0

這可能是瀏覽器設置。您是否僅在特定瀏覽器(例如IE)中觀察到此問題,或者您是否嘗試過所有瀏覽器(例如Chrome/Firefox/Safari/Opera /等)? – BalusC

回答

0

您是否正確設置了響應的內容類型?對於HTML,您應該這樣做:

response.setContentType("text/html")