2012-04-27 104 views
0

我試圖發回一個用一些HTML編碼的HTTP。我得到「方法sendStatus(int,String)是未定義類型HttpServletResponse」錯誤。我也只用代碼嘗試過。如果我使用sendError()來代替,那麼不會發送HTML。JSP:sendStatus(int,String)方法未定義類型HttpServletResponse

<%@page contentType="text/html; charset=utf-8" %> 
<%@ page isErrorPage = "true"%> 
<%response.sendStatus(500, "TEST 500 ERROR WITH HTML PAGE");%> 

<html> 
<body> 
<h1> 
Test HTTP Error: 500 ERROR with HTML page 
</h1> 
</body> 
</html> 

我越來越:

ERROR_500_subjectdoc_htmlheader_error_realhtmlerrorpage.jsp:3:12: The method sendStatus(int, String) is undefined for the type HttpServletResponse 
<%response.sendStatus(500, "TEST 500 ERROR WITH HTML PAGE");%> 

回答

2

您是指過時setStatus方法呢?或者也許sendError?錯誤信息很清楚 - 沒有sendStatus(int, String)這樣的方法,並且文檔證實了這一點。

真的需要設置一個消息的狀態,雖然?任何理由不僅僅使用setStatus(500)

+0

我仍然得到的方法sendStatus(int)是未定義的類型HttpServletResponse – user994165 2012-04-27 18:45:02

+1

@ user994165:您需要密切關注 - 我沒有說*發送*狀態,我說*設置*狀態。 – 2012-04-27 18:57:20

+0

謝謝。這解釋瞭解析錯誤,現在它起作用了。 – user994165 2012-04-27 20:46:11

0

您對setStatus(int, String)sendError(int, String)方法HttpServletResponse的

HttpSevletResponse javadoc

好運

+0

謝謝,但如果我這樣做,那麼即使我發送HTML後的HTML錯誤,我也無法發送任何HTML。如果我在JSP中進行重定向,那麼頁面會以HTTP 200結束。您知道如何獲取HTTP標頭並在頁面上有HTML嗎? – user994165 2012-04-27 18:33:20

+0

在java web項目上,您可以通過編輯web.xml文件來自定義錯誤頁面。http://www.javabeat.net/examples/2009/02/24/error-pages-in-jsp-2-0/需要發送錯誤,然後在相應的錯誤頁面上處理錯誤。 – 2012-04-27 18:35:29

+0

謝謝,但這是我想處理頁面的頁面。我不想重定向。我想要發回HTTP錯誤並顯示HTML頁面。 SendError只是發回錯誤,不會處理HTML。我嘗試了endStatus(500),但仍然得到「方法sendStatus(int)是未定義的類型HttpServletResponse未定義類型HttpServletResponse」 – user994165 2012-04-27 18:47:17

相關問題