日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統(tǒng) 2388 0
在通常的情況下,我們得到異常以后,需要將頁面導(dǎo)航到一個錯誤提示的頁面,提示錯誤信息。 利用Stuts我們可以采用兩種方式處理異常
一、編程式異常處理
*即我們在Action中調(diào)用業(yè)務(wù)邏輯層對象的方法時,用try{ }catch的方式來截獲異常之后,手工對異常進行處理
*我們以前的開發(fā)過程中,都是使用編程式的異常處理
*在編程式異常處理的時候,我們可以使用struts的消息處理機制來對這些異常信息進行處理。
二、自動異常處理機制
*即在Action中不捕捉異常,而是將異常拋出給struts框架處理
*我們需要在配置文件中指示struts如何處理這些被拋出的異常
*使用<exception/>元素來定義自動異常處理
方式一在上一篇有關(guān)國際化的文章中,我們已經(jīng)涉及過了,這里我們主要說一下方式二。
主要步驟:
1、配置Excepiton標(biāo)簽
        <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只對當(dāng)前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屬性,默認(rèn)情況下,將使用Action配置中的input屬性的值來作為轉(zhuǎn)向的頁面
2、 JSP 頁面中,使用 < html:errors /> 標(biāo)簽,即可將其異常對應(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 /> 標(biāo)簽,即可將其異常對應(yīng)的錯誤消息文本進行顯示
效果:
下篇繼續(xù)

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 益阳市| 太康县| 吐鲁番市| 宁武县| 沾益县| 宁德市| 长宁县| 罗源县| 黄浦区| 黄龙县| 尼玛县| 安乡县| 南郑县| 卢湾区| 昌都县| 惠安县| 门头沟区| 大悟县| 馆陶县| 宜宾县| 喀喇| 阳江市| 深泽县| 鄱阳县| 高陵县| 文成县| 波密县| 二连浩特市| 拉萨市| 兴海县| 沁源县| 肃北| 鄂托克旗| 舟山市| 辽宁省| 谢通门县| 双流县| 常宁市| 宁城县| 平远县| 济源市|