一、声明式异常捕捉: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学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
Struts2的核心配置文件是`struts.xml`,它定义了Action、Result、包(Package)以及其他相关的配置。配置文件中,`<constant>`标签用于设置全局常量,如`struts.devMode`控制开发模式。`<package>`标签用于组织...
通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
6. **异常处理**:Struts 2 提供了全局和局部的异常处理机制。全局异常处理通过 `<global-exception-mappings>` 标签定义,而局部异常处理则在 Action 类中使用 `@ExceptionHandler` 注解。 7. **国际化...
- **发展历程**: Struts2 是在 WebWork 框架的基础上发展起来的,因此学习 Struts2 实际上也是学习 WebWork。 #### 二、Struts2 的核心组件分析 **控制器**: - **Servlet VS Filter**: - **Servlet**: - 在内存...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...