本文實(shí)例講述了JSP中內(nèi)建exception對(duì)象時(shí)出現(xiàn)500錯(cuò)誤的解決方法。分享給大家供大家參考,具體如下:
嘗試使用JSP的內(nèi)建exception對(duì)象,寫了下面三個(gè)文件。思路很簡(jiǎn)單,文件index若提交字串為空,則get拋出異常,交由error.jsp處理。但實(shí)際卻不能正常運(yùn)行,會(huì)出現(xiàn)IE的500錯(cuò)誤頁面。環(huán)境為Tomcat 5.5,IE6.0。
在sun的論壇上有人貼出了原因,是IE的某個(gè)設(shè)置。Tomcat5.0以后的版本error page在處理時(shí)會(huì)返回error code 500。而IE得到code 500后會(huì)檢查該頁面的長度,當(dāng)長度低于某個(gè)值時(shí),它會(huì)用自己默認(rèn)的500出錯(cuò)頁面來代替制定的error page。它稱之為“用戶友好性”(這個(gè)問題耗了我不少時(shí)間,一點(diǎn)也不友好來著)。
那么解決方法可以是修改IE
設(shè)置:取消IE“工具--Internet選項(xiàng)--高級(jí)--顯示友好HTTP錯(cuò)誤信息”選項(xiàng);或者增加你的error page的長度。
index.jsp
<html><head> <title>index</title><head><body> <form action="get.jsp" method="get"> <input type="text" name="text"><br> <input type="submit" value="submit"> </form></body></html>
get.jsp
<%@page language="java" errorPage="error.jsp"%><html><head> <title>index</title><head><body> <% String getText = request.getParameter("text"); out.print(getText); if (getText.equals("")) { out.print("empty"); throw new Exception("empty value"); } %></body></html>error.jsp
<%@page language="java" isErrorPage="true"%><html><head> <title>index</title><head><body><% out.print(exception.getMessage()); %></body></html>
個(gè)人總結(jié)
所謂增加長度,就是在error.jsp文件中,多復(fù)制些文字內(nèi)容,就能正常運(yùn)行了。
希望本文所述對(duì)大家JSP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選