Struts2宣告式異常處理
在使用框架之前我們的程式中遇到異常,都是使用try{…}catch{…}手動捕獲解決,或者使用throws Exception將異常拋給別人去解決。在struts2框架中,異常的解決方法,更方便了,只要在struts.xml配置檔案中宣告一下就可以了。今天我們就來學習一下struts2的宣告式異常處理。
Struts2的異常處理,靠的是ExceptionMappingInterceptor異常攔截器。這個異常處理的攔截器是我們struts.xml配置檔案中繼承過的struts-default包中的一個預設攔截器,所以不用我們做額外的攔截器配置。
下面就用一個例項來感性的瞭解一下,宣告式異常處理的使用:
一、新建一個web project專案
二、匯入jar包,Build Path新增到專案中
區域性異常處理
三、web.xml中配置檔案
四、新建一個action類,名稱為:HelloWorldAction
五、新建三個頁面
1、新建一個index.jsp頁面,作為專案啟動預設載入的頁面
2、新建一個helloWorld.jsp頁面,作為成功跳轉的頁面
3、新建一個struts.xml配置檔案
六、匯出war包
現在點選專案右鍵 ---> export ---> war file ---> 點選Browser選擇war包匯出路徑 ---> finish
七、將匯出的war包放到tomcat伺服器的webapps資料夾下面
Ctrl+R開啟執行框,輸入cmd,回車開啟dos視窗,
八、啟動tomcat
使用dos命令,進入tomcat的bin資料夾下,執行startup.bat命令,啟動伺服器
Tomcat會啟動一個新的dos視窗,列印啟動日誌,看到下面的資訊即表示tomcat啟動成功。
此時war包已經自動解壓
輸入名字,點選提交按鈕,網頁直接報錯了
十、struts.xml中配置異常處理
修改struts.xml的配置檔案,增加紅框框中的兩個配置
使用和上面同樣的方法匯出war包,放到tomcat的webapps資料夾下(放之前先將上次放入的同名的那個war包和解壓後的資料夾刪除),重新啟動tomcat,
全域性異常處理
剛剛這個是我們針對某個action的特定異常做了處理,接下來,我們配置一個能捕獲所有的action中的NullPointerExcetion異常的處理,標籤是:<global-exception-mappings>,如圖:
重新匯出war包,替換tomcat中webapps中的war包,重新啟動tomcat,重新訪問專案url,點選提交,頁面如下,
(補充:我在error.jsp頁面中,新加了“捕獲所有action異常頁面”幾個字)
相關推薦
Struts2宣告式異常處理
在使用框架之前我們的程式中遇到異常,都是使用try{…}catch{…}手動捕獲解決,或者使用throws Exception將異常拋給別人去解決。在struts2框架中,異常的解決方法,更方便了,只要在struts.xml配置檔案中宣告一下就可以了。今天我們就來學習一下s
Struts2的宣告式異常處理
在struts2應用程式中你還在使用try catch語句來捕獲異常麼?如果是這樣的,那你OUT啦!struts2支援宣告式異常處理,可以再Action中直接丟擲異常而交給struts2來處理,當然需要我們在xml檔案中配置,由於丟擲同樣的異常的處理方法通常都一樣,所以如
【Struts2框架】第五節宣告式異常處理-處理異常的過程
如何抓到異常的? 步驟:(以之前寫的小樣例為例) 如果CategoryService中的list方法出錯(category_表不存在):public List<Category> list()throws SQLException{ Connection c
Struts2 學習筆記10--宣告式異常處理
宣告式異常處理 在程式中出現異常可以儘管往外拋,由統一介面做頁面處理 程式碼: 服務層:丟擲異常 public List<Category> list() throws SQLException { Connection conn = DB.
Struts2聲明式異常處理
.com ping lob exce src 方式 技術 異常信息 -s 通過配置.xml文件的方式處理異常信息: 註意:配置.xml文件的同時還要拋出異常 標簽:<exception-mapping></exception-mapping>和<
Struts2中的異常處理
因為在Action的execute方法宣告時就丟擲了Exception異常,所以我們無需再execute方法中捕捉異常,僅需在struts.xml 中配置異常處理。 為了使用Struts2的異常處理機制,必須開啟Struts2的異常對映功能,這需要excepti
struts2宣告式驗證 field-validator 的 type 屬性有哪些取值, 代表什麼含義
<validators> <field name="user.userName"> <!-- 驗證字串不能為空 --> <field-validator type="requiredstring"> <!-- 去
【Struts2】(11)異常處理和標籤
private List myList1; private List myList2; private List myList3; public List getMyList1() { return myList1; } public List getMyList2() { retur
Python基礎知識進階(五---2)----程序基本結構、簡單分支、異常處理、三大實例分析、基本循環結構、通用循環構造方法、死循環嵌套循環、布爾表達式
方法 算法 嵌套 構造方法 決策樹 輸入 繼續 實例 控制 上一篇隨筆寫的內容有點多了,決定分成兩節,不然自己看的時候也頭疼。 三者最大實例: 分支結構可以改變程序的控制流,算法不再是單調的一步步順序執行。 假設:以找出三個數字中最大者的程序設計為例。
(十)struts2的異常處理機制
原理 login 重寫 ... implement set 聲明式 nbsp con 成熟的MVC框架應該提供成熟的異常處理機制。當然可以在方法中手動捕捉異常,當捕捉到特定異常時,返回特定邏輯視圖名。 這種方式非常繁瑣,需要在方法中寫大量try catch塊,最大的缺點還是
java 異常處理之宣告丟擲異常
java 異常處理宣告丟擲異常 2.宣告丟擲異常是Java中處理異常的第二種方式 2.宣告丟擲異常是Java中處理異常的第二種方式 如果一個方法(中的語句執行時)可能生成某種異常,但是並不能確定如何處理這種異常,則此方
struts2的java lang NoSuchMethodException異常處理
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Struts2 (3) 異常處理
說到在Struts框架中的異常處理,很多人想到的應該是在Action中使用try catch語句,然後再在配置檔案中進行進一步的處理 但是!這也 太low了吧,Struts其實有提供了更加酷和使用的異常處理方法,宣告式異常捕捉,這種方式是在Action的帶有 throws E
Oracle中游標詳細用法 隱式遊標 顯式遊標 異常處理 錯誤處理
oracle中游標詳細用法 轉自:http://blog.csdn.net/liyong199012/article/details/8948952 遊標的概念: 遊標是SQL的一個記憶體工作區,由系統或使用者以變數的形式定義。遊
關於如何自定義Struts2表單驗證後的錯誤資訊顯示格式【基於宣告式驗證】
網上關於很多通過修改template主題為simple達到最後的效果,但是多數是直接通過硬編碼的方式去驗證【即程式設計式驗證】,這裡就自己是怎麼通過宣告式驗證去達到格式優化的效果的,可能程式碼比較low,希望大家見諒。 首先是動作類以及登陸的jsp頁面:【StudentAc
【C#】氣泡排序、隱式和顯式轉換、函式及異常處理
一、普通氣泡排序: C#中常見的排序方法有:氣泡排序,快速排序,插入排序,選擇排序、堆排序以及歸併排序。雖然還沒學習過,但是也有耳聞,就先把它們先歸類。今天主要講這裡面最常見的氣泡排序。 【概念】 氣泡排序也就是講一組需要排序的數,進行從小到大,或從大到小的排列。計算機
spring 宣告式事務配置,丟擲runtimeException異常不回滾
預設spring只在發生未被捕獲的runtimeexcetpion時才回滾。 最容易解決的辦法:程式碼級控制:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); try{ ..
c++異常處理,異常宣告,捕獲異常
C++ 捕獲異常的一些規則: 1. 非MFC 的c++ 異常應該用過引用來捕獲。使用引用來捕獲異常不需要刪除c++ 異常物件。因為使用引用捕獲的異常物件會在棧中傳遞。而且保持了多型性,使得你捕獲的異常正是你丟擲的異常物件。使用指標捕獲異常的話,需要你刪除異常
spring 宣告式事務傳播特性詳解(包括異常回滾舉例)
1:Service介面實現 public interface IProcessBusiService { //事務1@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW
struts2之宣告式驗證
struts2框架中提供大量的內建校驗器,使用時只需對這些校驗進行配置,我們管這種方式叫做宣告驗證。其實這個流程和之前介紹的程式設計驗證是一樣的,可以參考之前輸入驗證的流程。 一.編寫配置檔案:檔名為ActionClassName-validation.xml,與要驗證屬性