SSH-struts2的异常处理
Posted yangykaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH-struts2的异常处理相关的知识,希望对你有一定的参考价值。
在学习j2se的时候学习过利用java的exception类去处理异常。在struts2框架中也提供了对于异常的处理。简单说就是当Action发生异常时。能够在struts2.xml文件里进行配置,将页面跳转进行调整,给用户一个更人性化的反馈。
在struts2的异常处理中。分为两种异常处理,一种是全局的:全部Action出现异常都能够跳转到此页面。
还有一种是局部的:指定某一个Action异常跳转到此页面。
局部异常处理
在struts2.xml中在exception-mapping节点中指定result属性名称;exception属性中指定异常类,此类要继承exception。
result节点中指定name属性,以及异常发生后跳转的页面。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.syq.struts2.LoginAction" >
<exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping>
<exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping>
<result name="success">/result.jsp</result>
<result name="usernameInvalid">/UsernameInvalid.jsp</result>
<result name="passwordInvalid">/PasswordInvalid.jsp</result>
</action>
</package>
</struts>
全局异常处理
global-results节点中指定异常跳转的页面;global-exception-mappings中指定异常类。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<global-results>
<result name="usernameInvalid">/UsernameInvalid.jsp</result>
<result name="passwordInvalid">/PasswordInvalid.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping>
<exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping>
</global-exception-mappings>
<action name="login" class="com.syq.struts2.LoginAction" >
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
我们即能够在Action中定义异常与结果。也能够定义全局的异常与结果,局部的优先级要大于全局的,假设定义全局的那么能够为全部的Action所公用。而局部的异常与结果仅仅能被当前的Action所独享。
以上是关于SSH-struts2的异常处理的主要内容,如果未能解决你的问题,请参考以下文章
PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段