黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

一口一口吃掉Struts(十)——異常自動處理機制

系統(tǒng) 2587 0
在通常的情況下,我們得到異常以后,需要將頁面導(dǎo)航到一個錯誤提示的頁面,提示錯誤信息。 利用Stuts我們可以采用兩種方式處理異常
一、編程式異常處理
*即我們在Action中調(diào)用業(yè)務(wù)邏輯層對象的方法時,用try{ }catch的方式來截獲異常之后,手工對異常進行處理
*我們以前的開發(fā)過程中,都是使用編程式的異常處理
*在編程式異常處理的時候,我們可以使用struts的消息處理機制來對這些異常信息進行處理。
二、自動異常處理機制
*即在Action中不捕捉異常,而是將異常拋出給struts框架處理
*我們需要在配置文件中指示struts如何處理這些被拋出的異常
*使用<exception/>元素來定義自動異常處理
方式一在上一篇有關(guān)國際化的文章中,我們已經(jīng)涉及過了,這里我們主要說一下方式二。
主要步驟:
1、配置Excepiton標簽
        <action path="/login" type="com.jialin.LoginAction" name="userForm"
			scope="request" validate="true" attribute="uf" input="/index.jsp">

			<exception key="login.user.not.found" type="com.jialin.UserNotFoundException" />
			<exception key="login.password.error" type="com.jialin.PasswordErrorException"
				path="/LoginFail.jsp" />

		</action>
      

該Exception只對當前action起作用,也可以配置全局exception
        <global-exceptions>
		<exception key="login.user.not.found" type="com.jialin.UserNotFoundException" />
		<exception key="login.password.error" type="com.jialin.PasswordErrorException"
			path="/LoginFail.jsp" />
	</global-exceptions>
      

哪個優(yōu)先?就近原則。
<exception/> 元素配置的關(guān)鍵屬性是:
*key – 即這個異常所對應(yīng)的錯誤提示消息文本的key,這個key的值, 需要在資源屬性文件中進行定義
*type – 即定義需要處理哪種類型的Exception
*path – 定義一旦出現(xiàn)異常,需要轉(zhuǎn)向哪個頁面來進行提示,如果不定義path屬性,默認情況下,將使用Action配置中的input屬性的值來作為轉(zhuǎn)向的頁面
2、 JSP 頁面中,使用 < html:errors /> 標簽,即可將其異常對應(yīng)的錯誤消息文本進行顯示
示例:
還是以登錄為例——
LoginAction
        **
 * 登錄action
 * 
 * @author jialin 作用:取得表單數(shù)據(jù),調(diào)用model層業(yè)務(wù)邏輯,返回轉(zhuǎn)向信息
 */
public class LoginAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		UserActionForm userForm = (UserActionForm) form;
		String userName = userForm.getName();
		int password = userForm.getPassword(); 

		UserManage userManage = new UserManage();
		User user = new User();
		user.setName(userName);
		user.setPassword(password);
        //這里不再有trycatch語句
		userManage.ValidateUser(user);
		return mapping.findForward("success");

	}

}



        
        
      
配置文件采用上面列舉出的。
顯示界面使用使用 < html:errors /> 標簽,即可將其異常對應(yīng)的錯誤消息文本進行顯示
效果:
下篇繼續(xù)

一口一口吃掉Struts(十)——異常自動處理機制


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論