常見web項目中會用倒計時然后跳轉頁面來處理異常
error.jsp關鍵代碼:
<script language="javascript" type="text/javascript"> var timer; //啟動跳轉的定時器 function startTimes() { timer = window.setInterval(showSecondes,1000); } var i = 5; function showSecondes() { if (i > 0) { i--; document.getElementById("secondes").innerHTML = i; } else { window.clearInterval(timer); /*要跳轉的請求*/ location.href = "toLogin.do"; } } //取消跳轉 function resetTimer() { if (timer != null && timer != undefined) { window.clearInterval(timer); /*取消跳轉的請求*/ location.href = "toLogin.do"; } } </script> <body class="error_page" onload="startTimes();"> <h1 id="error"> 遇到錯誤, <span id="secondes">5</span> 秒后將自動跳轉,立即跳轉請點擊 <a href="javascript:resetTimer();">返回</a> </h1> </body>
統一異常處理(兩種方案)
方案一:
<error-page> <exception-type>java.lang.Exception</exception-type> <location>/WEB-INF/error.jsp</location><!--這里用絕對路徑,因為不知道錯誤發生在哪里,無法寫相對路徑--> </error-page>
方案二:
<error-page> <exception-type>400|405|500</exception-type><!--如果需要每個都要配置,所以推薦方案一 --> <location>/WEB-INF/error.jsp</location> </error-page>