struts2学习笔记-有关struts异常的部分内容

一、声明式异常捕捉:struts2的异常处理机制是通过在struts.xml文件中配置<exception-mapping .../>元素完成的,配置的时候需要指定两个属性:
    1.exception:此属性指定该异常映射所设置的异常类型。
    2.result:此属性指定Action出现该异常时,系统转入result属性所指向的结果。

二、根据<exception-mapping .../>出现的位置的不同可以分两种:
    1.局部异常映射:将<exception-mapping .../>元素作为<action .../>元素的子元素配置。
    2.全局异常映射:将<exception-mapping .../>元素作为<global-exception-mappings>元素的子元素配置。
例如:

xml代码:

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

<!--配置一个包空间,注意:struts-dufault里已经配置了异常映射拦截器-->
<package name="struts" extends="struts-default">
    <!--定义所有的全局结果-->
    <global-results>
        <!--逻辑名为sql的结果,映射到/exception.jsp页面-->
        <result name="sql">/exception.jsp</result>
        <!--逻辑名为root的结果,映射到/exception2.jsp-->
        <result name = "root">/exception2.jsp</result>
    </global-results>
    <!--定义所有全局异常映射-->
    <global-exception-mappings>
        <!--Action抛出SQLException异常时,转入名为sql的结果-->
        <exception-mapping exception="java.sql.SQLException" result="sql" />
        <!--Action抛出Exception异常时,转入名为root的结果-->
        <exception-mapping exception="java.lan.Exception" result="root" />
    </global-exception-mappings>
    <!--配置本系统的Action-->
    <action name="login" class="lee.LoginAction">
        <!--下面配置一个局部异常映射,当Action抛出lee.MyException时,转入名为my的结果-->
        <exception-mapping exception="lee.MyException" result="my" />
        <!--定义返回结果-->
        <result name="my">/exception.jsp</result>
        <result name="error">/error.jsp</result>
        <result name="success">/welcome.jsp</result>
    </action>
</package>
</struts>
注意:全局异常映射的result属性值通常不要使用局部结果,局部异常映射的result属性值既可以使用全局结果,也可以使用局部结果。

三、输出异常信息
     1.<s:property value="exception" />:输出异常对象本身。
     2.<s:property value="exceptionStack" />:输出异常堆栈信息。详细的信息,包括错误等。
     输出异常信息:<s:property value="exception.message" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值