异常处理

1、编程式异常处理
	* 截获某个异常
	* 创建相应的异常消息
	* 传递异常消息
	* 转向相应的页面处理异常
	
2、自动的异常处理(声明式异常处理)
	* 在struts-config.xml文件中配置<exeception/>标签
	* 理解局部和全局exception
	<global-exceptions>
		<!-- 
		<exception key="user.not.found" type="com.x.struts.UserNotFoundException" path="/error.jsp"/>
		<exception key="user.password.error" type="com.x.struts.PasswordErrorException"  path="/error.jsp"/>
		 -->
		
		<!-- 
		<exception key="user.not.found" type="com.x.struts.UserNotFoundException" handler="org.apache.struts.action.ExceptionHandler"/>
		<exception key="user.password.error" type="com.x.struts.PasswordErrorException" handler="org.apache.struts.action.ExceptionHandler"/>
		 -->
		 <exception key="error.exception" type="com.x.struts.ErrorCodeException" handler="com.x.struts.ErrorCodeExceptionHandler"/>
	</global-exceptions>
	* 注意局部<exception/>标签需要配置到<forward/>标签的前面,详见dtd中的约束
	<action path="/login" 
				type="com.x.struts.LoginAction"
				name="loginForm"
				scope="request"
				validate="false"
				input="/login.jsp"
				>
				<exception key="user.not.found" type="com.x.struts.UserNotFoundException" path="/error.jsp"/>
				<exception key="user.password.error" type="com.x.struts.PasswordErrorException"  path="/error.jsp"/>
				<forward name="success" path="/login_success.jsp"/>
				<forward name="error" path="/login.jsp"/>	
				<forward name="error" path="/login_error.jsp"/>				
	    </action>
	
	
	<exeception/>标签中的属性说明:
		* key:指异常信息对应的国际化消息文本,这个key值需要在国际化资源文件中定义
		* type: 处理那种异常
		* path: 定义一但出现异常,需要转向那个页面,如果不定义path,
		         默认情况下将使用<action>标签中input属性对应的页面
		* scope:可以取值request和session,默认为request
		* handler:异常的处理类,struts默认采用org.apache.struts.action.ExceptionHandler,
		            如果做个性化的异常处理可以继承此类覆写相应的方法
		参见:ErrorCodeExceptionHandler.java            

	<global-exceptions>
		<exception key="error.exception" type="com.x.struts.ErrorCodeException" handler="com.x.struts.ErrorCodeExceptionHandler"/>
	</global-exceptions>
-----------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值