1.在应用项目中,异常的出现时很正常的。而且项目上线后发生异常也很正常的。那么需要对这些异常有相应的处理机制,以便客户能够看你到更加友好的界面。Struts2中提供了异常处理机制。
2.Struts中异常处理实现
a) 在 action 处理类中抛出的异常
public class UserAction {
public String add() throws NullPointerException{
if(1==1)
throw new NullPointerException("数据为null");
return Action.SUCCESS;
}
}
b) 在action的配置中,配置异常发生后应该到达的页面
<action name="add" class="cn.sxt.action.UserAction" method="add">
<!-- 配置异常处理 result指向结果集的名称
exception 填写发生的异常的完全限定名 可以是其父类-->
<exception-mapping result="nullException" exception="java.lang.NullPointerException"></exception-mapping>
<result>/success.jsp</result>
<!-- 发生异常后 到达的页面 -->
<result name="nullException">/error.jsp</result>
</action>
c) 通常使用全局的异常处理机制
<global-results>
<result name="nullException">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="nullException" exception="java.lang.NullPointerException"></exception-mapping>
</global-exception-mappings>