一、声明式异常捕捉: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" />
分享到:
相关推荐
struts2学习笔记总结
Struts2学习笔记,介绍了struts2的基础部分
struts2学习笔记,非本人所写,但有学习的价值,总结的很好,分享一个!
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用
struts2学习笔记struts2学习笔记struts2学习笔记
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
本人学习struts2的笔记,希望大家可以多多学习以后共同交流
1)把struts2的相关jar包导入到项目中去 2)把struts2框架的配置文件struts.xml复制粘贴到项目中的src下面(同时也可以把log4j.properties放到src下) 在这里我们主要是要的这个struts.xml文件的中的声明部 分,以前写...
struts2四天的学习笔记。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
namespace :对应与项目名称后面的"/"(例如Struts2_0100_Introduction后面的"/") (http://localhost:8080/Struts2_0100_Introduction/) 四、 标签 是用来解决重名的问题,例如当系统的前台和后台都有一个action...
structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的
个人收藏,纯属备份作用,做个记录,方便需要时候查看
Struts+spring+hibernate学习笔记! - Struts原理与实践
Struts2学习笔记2012 希望对你的学习能有所帮助。。
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...