struts2會吃掉異常

2021-06-18 11:55:36 字數 489 閱讀 4014

整合struts2時,因為很久沒弄就忘記了,把filter配成了老的filterdispatcher,檢查的時候發現這個類已經宣告過期了,新的struts2.1.3.4,應該用strutsprepareandexecutefilter

不過附帶發現了乙個問題,就是struts2內部捕獲到異常的話,不會繼續向上拋了,而是通過乙個senderror()方法內部處理,最後寫到httpservletresponse裡,所以瀏覽器裡能看到異常棧的資訊,但是在控制台反而看不見

我覺得struts2的這個設計不是很好。畢竟作為乙個開發人員,在頁面上看到了異常,但是到控制台(容器是jboss的話,會記錄到server.log裡)反而看不見,這樣是感覺很奇怪的,我昨天是跟到原始碼裡面,才發現這個問題

一般來說,如果應用捕獲到了異常,要麼繼續向上拋,要麼自行處理掉。但是無論怎麼樣,記錄日誌我認為是必須的(日誌檔案或者控制台)。struts2的這種處理方法,對於開發人員事後定位來說,等於是沒有任何記錄,要定位問題就很不方便了

struts2異常處理

struts2的異常處理機制 任何成熟的mvc框架都應該提供成就的異常處理機制。strut2也不例外。struts2提供了一種宣告式的異常處理方式。struts2也是通過配置的 來實現異常處理機制的。exception 此屬性指定該異常對映所設定的異常型別。result 此屬性指定action出現該...

struts2異常處理

struts2中的異常處理有兩種形式 一種是區域性異常處理,一種是全域性異常處理 全域性的異常處理可以被該包下所有的action使用,而區域性異常處理只能被乙個action使用。異常處理的結果的執行流程也是如此,先區域性後全域性,即使異常處理類是全域性的,struts也會先去區域性找是否有對應的異常...

Struts2 異常處理

總結以下struts2配置檔案中 宣告式異常處理 exception 指定需要捕獲的的異常型別。異常的全類名 result 指定乙個響應結果,該結果將在捕獲到指定異常時被執行,既可以來自當前 action 的宣告,也可以來自 global results 宣告.案例 web inf pages de...