`

Struts1的异常处理方式

阅读更多

 

Struts可以以两种不同方式来处理Action类中execute()方法产生的异常:

1、配置方式:通过设置Struts配置文件(struts-config.xml)中的exception元素来处理异常。

2、编程方式:在Action中捕获异常,并把异常重新包装成ActionMessage对象,然后把ActionMessage对象保存在ActionMessages对象中,接着把请求转发给错误处理页面即可。

以配置方式处理异常可以提高应用的灵活性、可重用性和可维护性,下面介绍如何以配置方式来处理异常:
1、首先在<global-exception>(全局异常)或<action>(局部异常)元素中嵌套<exception>元素,一个<exception>元素代表一种类别的异常,其格式如下:
<exception type="type" handler="handler" path="path" key="key" bundle="bundle" scope="scope"/>
type:指定待处理的异常类。
handler:指定异常处理类,默认值为org.apache.struts.action.ExceptionHandler。如果设置为用户自定义的异常处理类,则该类必须继承ExceptionHandler。
path:指定转发路径。
key:指定错误消息的key,Struts框架将根据这个key到Resource Bundle中寻找匹配的消息文本。
bundle:指定Resource Bundle,如果没有设置此项,将使用默认的Resource Bundle。
scope:指定ActionMessages的存放范围,可选值包括request和session。默认值为request。

在指定了所有的异常后,可以加一个<exception type="java.lang.Exception" .../>来捕获尚未指定的其它异常,并可以指定该key的值为"系统错误......"。

例如:
struts-config.xml 文件
...
<exception type="com.cjcoder.MyException" key="action.errors.myexception" path="/error.jsp"/>
<exception type="java.lang.Exception"     key="action.errors.exception"   path="/error.jsp"/>
...

error.jsp 文件
...
<html:errors property="action.errors.myexception"/>
<html:errors property="action.errors.exception"/>
...

2、在path指定的页面中,通过<html:errors/>来显示所有异常信息或通过<html:errors property="key"/>来显示指定异常信息(property属性的值和<exception>元素中指定的key相对应)。

 

分享到:
评论

相关推荐

    Struts1异常处理

    尽管如此,许多遗留系统仍然依赖于Struts1,因此理解其异常处理机制仍然是必要的。 在Struts1中,异常处理主要通过两个组件来实现:`Action`类和`Tiles`或`Struts-config.xml`配置文件中的`exception`标签。当一个...

    Struts2异常处理机制

    Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...

    struts手动异常处理

    这是最基本的异常处理方式,但可能会导致代码冗余,因此不推荐在每个Action中都进行这种处理。 4. **自定义异常类**:创建自定义异常类可以帮助我们更好地组织和分类应用中的错误。例如,可以定义一个`...

    Struts2之异常处理案例struts003

    1. **异常处理机制概述** Struts2提供了内置的异常处理机制,允许开发者定义全局和局部的异常映射,以控制应用程序中出现异常时的行为。全局异常处理适用于整个应用,而局部异常处理则针对特定Action进行。 2. **...

    struts1.x 异常处理机制

    首先,Struts1.x框架默认的异常处理方式是通过`struts-config.xml`配置文件中的`&lt;global-exceptions&gt;`标签来定义全局异常处理。在这个标签内,你可以声明一个或多个异常类型,并为每个异常指定一个错误页面,当...

    struts2中异常处理(demo)

    1. **全局异常处理**:在Struts2的配置文件中,可以定义一个或多个`&lt;global-exception-mappings&gt;`标签来处理全局异常。这些映射可以指定一个特定的Action或结果来处理特定类型的异常。例如,当发生`...

    Struts2 异常处理的四种获取属性方法

    在Struts2框架中,异常处理是至关重要的一个部分,它确保了应用程序的稳定性和用户体验。Struts2提供了多种方式来捕获和处理异常,帮助开发者优雅地处理程序中的错误情况。以下是Struts2异常处理的四种主要方法,...

    基于Struts的异常处理

    针对异常处理,Struts提供了一种优雅的方式,使得开发者可以自定义错误处理机制。在给定的文件中,我们看到了一个基于Struts的异常处理方案,主要涉及两个关键点:自定义异常类和自定义异常处理器。 首先,我们来看...

    struts2的异常处理机制

    1. **异常处理流程**: 当一个Action执行过程中抛出异常时,Struts2会根据配置的异常映射(`exception-mapping`)来决定如何处理这个异常。异常处理分为全局(全局异常映射`global-exception-mappings`)和局部...

    Struts 声明式异常处理和个性化异常处理

    在提供的压缩包文件"Struts_exception"中,可能包含了Struts异常处理的相关示例代码或者教程,例如如何配置struts.xml,如何创建自定义异常类,以及如何在Action中进行异常处理等。这些资源可以帮助开发者更深入地...

    struts2的异常处理

    本篇文章将深入探讨Struts2的异常处理策略,以及如何在DAO层进行单元测试配置。 在传统的Web应用中,当一个异常发生时,通常会跳转到错误页面或者返回错误信息。但在现代Web应用中,尤其是涉及到Ajax异步请求时,...

    struts常见异常及处理

    ### Struts 常见异常及处理 #### 1. javax.servlet.ServletException: Must specify type attribute if name is specified - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则...

    Struts2的异常处理

    1. 全局异常处理:Struts2提供了一个`struts-default.xml`配置文件,其中可以定义一个`&lt;global-exception-mappings&gt;`标签来处理未被捕获的异常。例如,你可以为`NullPointerException`指定一个处理结果,这个结果...

    struts2处理项目全局异常

    项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。

    struts1—jar

    9. **Exception Handling**:Struts1有内置的异常处理机制,能够捕获和处理Action执行过程中的异常。 压缩包子文件的文件名称列表"02_Struts"可能包含的是Struts1框架的其他组件或者示例项目,这些文件可能包括: ...

    Struts1和Struts2区别

    - **Struts1**:错误和异常处理相对较弱,通常需要在配置文件中手动指定错误页面。 - **Struts2**:提供了更强大的异常处理机制,可以定义全局和Action级别的异常映射,更易管理。 6. 数据校验: - **Struts1**...

    struts异常处理

    1. **配置struts.xml**:在Struts2的配置文件中,开发者需要定义异常处理拦截器,例如`ExceptionMappingInterceptor`。这个拦截器会在Action执行过程中查找匹配的异常映射规则。 2. **定义异常映射**:在`&lt;package&gt;...

Global site tag (gtag.js) - Google Analytics