1. 程式人生 > >專案異常處理:500、404、exception、403

專案異常處理:500、404、exception、403

第一步:你需要建立一個顯示錯誤資訊的jsp頁面,內容如下:


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>系統執行發生錯誤</title>
</head>
<body>
  <div>系統執行發生錯誤,資訊描述如下:</div>
  <div>錯誤狀態程式碼是:$ {pageContext.errorData.statusCode}</div>
  <div>錯誤發生頁面是:$ {pageContext.errorData.requestURI}</div>
  <div>錯誤資訊:$ {pageContext.exception}</div>
  <div>
     錯誤堆疊資訊:<br/>
    <c:forEach var="trace" items="$ {pageContext.exception.stackTrace}">
       <p>$ {trace}</p>
    </c:forEach>
  </div>
</body>
</html>




當然這個只是用來顯示獲取錯誤相關的資訊,裡面包含了絕大多數的錯誤相關資訊,你可以使用這些資訊來定製你的錯誤顯示。


第二步:配置web.xml檔案,新增錯誤頁。
<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error.jsp</location>
</error-page>




這樣的配置表示如果jsp頁面或者servlet發生java.lang.Exception型別(當然包含子類)的異常就會轉到error.jsp頁面處理。
<error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
</error-page>


這樣配置也是可以的,表示發生500錯誤的時候,轉到error.jsp頁面處理。


是不是很簡單,你可以配置多個<error-page>小節,將不同型別的錯誤轉發到不同的錯誤處理頁面,方法已經有了,趕快配置你的個性化錯誤資訊顯示吧。


也可以配置其他錯誤頁面:
<error-page>
	<error-code>500</error-code>
	<location>/common/500.jsp</location>
</error-page>
<error-page>
	<error-code>404</error-code>
	<location>/common/404.jsp</location>
</error-page>
<error-page>
	<error-code>403</error-code>
	<location>/common/403.jsp</location>
</error-page>



相關推薦

專案異常處理500404exception403

第一步:你需要建立一個顯示錯誤資訊的jsp頁面,內容如下:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%&

安卓專案實戰之最實用的載入中無網路無資料出錯四種情況切換庫的使用總結

效果圖 錄出來的效果不是很好,真機上展示效果還算完美。 如圖所示該效果的實現依賴三個庫: 1,頂部Tab導航:比TabLayout功能更強大的FlycoTabLayout,具體使用檢視本人之前部落格:安卓專案實戰之:FlycoTabLayout和FlycoRoundView的介紹及

【邊做項目邊學Android】異常處理android.os.NetworkOnMainThreadException--多線程問題

不能 timeout throws extend dex com order trace res 一切搞定。以為高枕無憂了,結果還是有問題! log開始報錯了,獲取更新信息異常。。!debug一下。發現Exception:android.os.NetworkOnM

linux異常處理selinux配置錯誤導致無法重啟

嚴格 log htm 1.2 模式 想要 process info 磁盤 點擊返回自學Linux集錦 linux異常處理:selinux配置錯誤導致無法重啟 一次linux無法重啟異常記錄: 當時第一反應就是梳理最近的配置變更,特別是能預知相關的就是selinux配置變

Druid異常處理java.lang.RuntimeException: No buckets?? seems there is no data to index.

2018-09-16T15:10:53,695 ERROR [task-runner-0-priority-0] io.druid.indexing.overlord.ThreadPoolTaskRunner - Exception while running task[HadoopIndexT

.NET/C# 異常處理寫一個空的 try 塊程式碼,而把重要程式碼寫到 finally 中

不知你是否見過 try { } finally { } 程式碼中,try 塊留空,而只往 finally 中寫程式碼的情況呢?這種寫法有其特殊的目的。 本文就來說說這種不一樣的寫法。 你可以點開這個連結檢視 Exception 類,

【c#】異常處理try catch throw

        異常處理,是程式語言或計算機硬體裡的一種機制,用於處理軟體或資訊系統中出現的異常狀況(即超出程式正常執行流程的某些特殊條件)。 也就是說,在程式執行時出現的任何意外或異常情況時,處理這種意外或情況的方法,叫做異常處理。  

第033講異常處理你不可能總是對的2

目錄 0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! 測試題 0. 我們使用什麼方法來處理程式中出現的異常? 1. 一個 try 語句可以和多個 except 語句搭配嗎?為什麼?g 2. 你知道如何統一處理多類異常嗎? 3. except 後邊

第032講異常處理你不可能總是對的

目錄 0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!                              

SpringBoot系列: Spring專案異常處理最佳實踐

===================================自定義異常類===================================稍具規模的專案, 一般都要自定義一組異常類, 這樣做的好處是:1. 可以充分利用異常的中斷特性, 簡化程式碼的邏輯控制. 2. 在自定義的異常類, 可以設定

風控專案異常記錄

1.java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function0     at java.lang.Class.getDeclaredMethods0(Native Method

.NET/C# 異常處理寫一個空的 try 塊程式碼,而把重要程式碼寫到 finally 中(Constrained Execution Regions)

不知你是否見過 try { } finally { } 程式碼中,try 塊留空,而只往 finally 中寫程式碼的情況呢?這種寫法有其特殊的目的。 本文就來說說這種不一樣的寫法。 本文內容 空的 try 塊 受約束的

VirtualBox安裝虛擬機器異常處理FATAL: NO bootable medium found! System halted

問題原因:1.沒有安裝系統                  2.設定系統啟動方式問題                 &

Java異常處理

異常處理: 一:異常: 程式在執行過程中出現的不正常的現象 二:分類: 異常和錯誤的區別:宜昌市程式設計師能夠處理的情況,而錯誤一般是硬體,執行環境設計等原因導致的,程式設計師不能去處理的情況 執行時異常和編譯時異常的區別:一般來說,執行時異常為語義錯誤,而

零基礎入門學習Python(33)--異常處理你不可能總是對的(2)

前言 接下來我們介紹一種方法捕捉語句塊中可能出現的錯誤 知識點 異常處理 捕捉異常可以使用try/except語句。 try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常資訊並處理。 如果你不想在異常發生時結束你的程式,只需在try

druid異常處理Types.collectionOf(Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType

2018-11-10T19:54:35,072 INFO [task-runner-0-priority-0] io.druid.indexer.DetermineHashedPartitionsJob - Job wikiticker-determine_partitions_hashed-O

異常處理處理錯誤

》》自從程式語言問世以來,錯誤處理就始終是最困難的問題之一。 》》異常處理將錯誤直接置於程式語言中,有時候甚至置於作業系統中。異常是一種        物件,它從出錯的點被“丟擲”,並被專門設計用來處理特定型別錯誤的相應的異常       處理器“捕獲”。異常處理就像是與程

異常處理DefaultDispatcherErrorHandler:42 COMMIT/AUTO or remove 'readOnly' marker from transaction defin

DefaultDispatcherErrorHandler:42 - Exception occurred during processing request: Write operations are not allowed in read-only mode (FlushMode.MANUA

Win7安裝Ubuntu虛擬機器異常處理FATAL: NO bootable medium found! System halted

異常:FATAL: NO bootable medium found! System halted. 如圖所示: 問題原因:設定系統啟動方式問題;或沒有用iso檔案來安裝系統 解決方案: 1.按照正常方式建立了一個虛擬機器之後,點選“設定”按鈕,點選“系統”選擇啟動順序,

異常處理jinja2.exceptions.UndefinedError: 'form' is undefined

jinja2.exceptions.UndefinedError: ‘form’ is undefined 建立flask專案使用jinja2的時候出現瞭如下一樣的錯誤 經過查閱資料發現 原來是兩個檢視函式引用了同一個模板,模板中使用了jinja2,而引用的檢視函式中其中