`
天空之城
  • 浏览: 404780 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2的异常处理机制

 
阅读更多

任何成熟的MVC框架都应该提供成熟的异常处理机制。Strut2也不例外。Struts2提供了一种声明式的异常处理方式。Struts2也是通过配置的拦截器来实现异常处理机制的。

Struts2的异常处理机制通过在struts.xml文件中配置<exception-mapping …>元素完成的,配置该元素时,需要指定两个属性:

exception:此属性指定该异常映射所设置的异常类型。

result:此属性指定Action出现该异常时,系统转入result属性所指向的结果。

6.1.    异常映射也分为两种:

l 局部异常映射:<exception-mapping…>元素作为<action…>元素的子元素配置。

l 全局异常映射:<exception-mapping…>元素作为<global-exception-mappings>元素的子元素配置。

6.2.    输出异常信息:

使用Struts2的标签来输出异常信息:

l <s:property value="exception.message"/> : 输出异常对象本身。

l <s:property value="exceptionStack"/> : 输出异常堆栈信息。

6.3.    示例:

还是修改用户登录示例:

1)      把UserAciton.java中的regist方法改成:

 

 

public String regist() throws Exception{

        //将用户名,密码添加到数据库中

        //...

        //msg = "注册成功。";

        if(true){

           throw new java.sql.SQLException("没有数据库驱动程序");

       }

       

        return this.SUCCESS;

    }

 

 

 

2)      修改struts.xml文件:

 

 

<!DOCTYPE struts PUBLIC

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="my" extends="struts-default" namespace="/manage">

        <!-- 定义全局处理结果 -->

        <global-results>

        <!-- 逻辑名为sql的结果,映射到/exception.jsp页面 -->

        <result name="sql">/exception.jsp</result>

        </global-results>

       

        <global-exception-mappings>

        <!-- 当Action抛出SQLException异常时,转入名为sql的结果 -->

        <exception-mapping exception="java.sql.SQLException" result="sql"/>

        </global-exception-mappings>

       

        <action name="userOpt" class="org.qiujy.web.struts2.action.UserAction">

            <result name="success">/success.jsp</result>

            <result name="error">/error.jsp</result>

        </action>

    </package>

</struts>

 

 

 

3)      新增一页面:exception.jsp

 

 

<%@ page language="java" pageEncoding="utf-8"%>

<%@ taglib uri="/struts-tags" prefix="s" %>

<html>

 <head>

    <title>异常信息</title>

 </head>

 

 <body>

 <h2>

 出现异常啦

 </h2>

 <hr/>

   <h3 style="color:red">

   <!-- 获得异常对象 -->

    <s:property value="exception.message"/>

    </h3>

    <br/>

    <!-- 异常堆栈信息 -->

    <s:property value="exceptionStack"/>

</html>

 

 

 

4)      运行regist.jsp进行调试:

 

分享到:
评论

相关推荐

    Struts2异常处理机制

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

    struts2的异常处理机制

    Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...

    Struts2之异常处理案例struts003

    下面将详细讨论Struts2中的异常处理机制及其相关知识点。 1. **异常处理机制概述** Struts2提供了内置的异常处理机制,允许开发者定义全局和局部的异常映射,以控制应用程序中出现异常时的行为。全局异常处理适用...

    struts手动异常处理

    2. **全局异常处理**:Struts允许我们在配置文件中定义全局异常映射,这样所有Action中的未捕获异常都会被映射到特定的结果页面。在`struts.xml`或`struts-default.xml`中,可以使用`&lt;global-exception-mappings&gt;`...

    struts2中异常处理(demo)

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。...结合提供的压缩包文件"struts2_003",可能包含了示例代码或者项目结构,帮助读者理解并实践Struts2的异常处理机制。

    Struts1异常处理

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

    struts1.x 异常处理机制

    总结来说,Struts1.x的异常处理机制包括全局异常配置和自定义Action异常处理两部分。通过合理利用这两种方式,开发者可以有效地控制和管理应用程序的异常,提供更健壮的错误处理,提高系统的稳定性和用户体验。在...

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

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

    struts2的异常处理

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

    深入学习struts2

    8. **Struts2异常处理机制**:Struts2提供了一套强大的异常处理机制,允许开发者定义特定类型的异常与特定结果的映射。这样,当发生异常时,系统会自动转向预先配置的错误页面,便于统一处理和展示错误信息。 掌握...

    Struts2工作机制

    Struts2包含了一些内置的拦截器,如`ValidationInterceptor`用于验证表单数据,`ExceptionHandlerInterceptor`处理异常等。开发者可以根据需求自定义拦截器,实现特定的行为,如登录检查、日志记录等。 4. **...

    Struts2的工作机制及分析

    ActionSupport类提供了错误和异常处理的基础支持,包括国际化和验证。每个Action可以通过返回一个字符串结果来指示视图层如何响应,这被称为结果类型。 在处理请求的过程中,Struts2使用了拦截器(Interceptor)...

    基于Struts的异常处理

    总结一下,基于Struts的异常处理机制: 1. 定义自定义异常类,如`AppException`,包含错误代码和参数,方便处理和展示错误信息。 2. 创建自定义异常处理器,如`AppExceptionHandler`,继承自Struts提供的`...

    Struts2的异常处理

    Struts2作为一款流行的Java Web框架,其异常处理机制是开发者必须掌握的关键部分。这篇博客主要探讨了在Struts2中如何有效地管理和处理异常,从而提高应用的稳定性和用户体验。 在Struts2中,异常处理主要通过两种...

    struts错误处理机制小例子

    2. **全局异常处理**:在struts-config.xml中,我们可以定义全局的异常映射(global-exceptions)。当Action执行过程中抛出未被捕获的异常时,Struts会查找匹配的异常映射,根据配置转发到特定的错误页面。例如,...

    Struts2中异常处理机制分析

    在Struts2中,异常处理机制是关键组成部分,确保程序在遇到错误时能够优雅地处理并提供反馈给用户。本文将深入探讨Struts2的异常处理机制,特别是声明式异常捕捉和异常映射。 首先,Struts2的异常处理机制允许...

    struts2的令牌机制

    Struts2的令牌机制是其防止重复提交和CSRF(跨站请求伪造)攻击的一种重要安全策略。在Web开发中,尤其是使用MVC框架如Struts2时,确保用户请求的唯一性和安全性至关重要。令牌机制就是这样的一个工具,它通过在表单...

    struts2 单文件,多文件上传及拦截器实现异常处理

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括表单处理、MVC设计模式支持以及异常处理机制。在文件上传方面,Struts2提供了方便的API和配置方式来处理单个或多个文件的上传。在这个主题中,...

Global site tag (gtag.js) - Google Analytics