在struts2中封裝了自己的異常處理方式。我們在專案中可以根據自己的需要來處理自己的異常。
可以建乙個異常資訊封裝類,將專案中常見異常資訊進行封裝,常見資訊包括:
1.異常種類:
如: 資料庫操作異常; 應用操作異常(業務異常,如 許可權不夠等) ; 系統異常(如 應用伺服器異常)
2.具體異常:
如:"該資料庫不存在!" 等等
可以在持久層或業務邏輯層捕獲處理,也可以層層向上拋,直到action層,在action進行捕獲。
在action進行捕獲之後可以有兩種處理方式:
1.將該異常 加上自己的資訊throw出來,如:
.........
} catch (unifyuserexception u)
這時需要在struts.xml中配置異常處理資訊,如:
如果系統要求不是很嚴格,可以用全域性異常對映將所有異常都**到乙個公用的頁面,這時需要在丟擲異常的action中加入該全域性對映,如:
index.jsp
login.jsp
../operate***iled.jsp
如果想具體一點,可以配置針對具體action的具體異常,這時需要配置區域性異常處理,如:
../operate***iled.jsp
../operate***iled.jsp
最後需要在指向的存放異常資訊的頁面輸出異常資訊,如:
例如/operate***iled.jsp頁面加上:
此時該頁面上就會顯示在action中throw出的異常資訊:"新增角色失敗!「
2.將異常捕獲,但是不throw,而是新增到struts2的錯誤處理如actionerror中,然後在頁面中顯示出來,如:
try catch (unifyuserexception u)
在頁面上顯示出來,如:
異常展示方式常用的可以有:
1,所有的異常頁面都公用乙個頁面,比如在配置檔案中定義乙個全域性異常對映即可實現。不過這種做法不推薦,資訊不詳細。
2.具體到某個操作(方法)的異常顯示,如在乙個頁面中來單獨顯示錯誤資訊,
3.在操作頁面顯示錯誤資訊,比如在登陸頁面顯示 使用者名稱密碼有誤
針對第3種是推薦並且常用的做法,一般通過異常捕獲、action手工校驗、struts框架校驗來實現。
總之異常捕獲和處理要適當,不要所有的方法都要捕獲,不但沒有必要也會影響到系統效率,根據具體情況適當處理!
ssh專案異常用處理方式
在struts2中封裝了自己的異常處理方式。我們在專案中可以根據自己的需要來處理自己的異常。可以建乙個異常資訊封裝類,將專案中常見異常資訊進行封裝,常見資訊包括 1.異常種類 如 資料庫操作異常 應用操作異常 業務異常,如 許可權不夠等 系統異常 如 應用伺服器異常 2.具體異常 如 該資料庫不存在...
ssh專案異常用處理方式
在struts2中封裝了自己的異常處理方式。我們在專案中可以根據自己的需要來處理自己的異常。可以建乙個異常資訊封裝類,將專案中常見異常資訊進行封裝,常見資訊包括 1.異常種類 如 資料庫操作異常 應用操作異常 業務異常,如 許可權不夠等 系統異常 如 應用伺服器異常 2.具體異常 如 該資料庫不存在...
串列埠資料接收的常用處理方式
串列埠資料接收的常用方式有三種 使用狀態機機制 通過判斷結束字元的方式 通過資料接收超時的方式 使用狀態機機制,這種方式常用於接收16進製制資料的情況,比較典型的例子是modbus rtu資料的接收。這種方式能夠及時的處理接收到的資料,但是寫程式太繁瑣,而且通用性差,不同的協議狀態機就不一樣。使用狀...