`
天空之城
  • 浏览: 398767 次
  • 性别: 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异常处理机制

    struts2的异常处理机制

    本文档主要介绍了struts2的异常处理机制,希望对你有所帮助。

    struts1.x 异常处理机制

    从网上搜索的一段关于struts1.x自定义异常处理的方法。

    Struts2中异常处理机制分析

    主要介绍了Struts2中异常处理机制分析,涉及到了声明式异常捕捉的相关内容,以及两种异常映射的分析,需要的朋友可以参考下。

    深入 struts2

    Struts2的配置文件、Struts2的Action介绍、 一个Action内包含多个请求处理方法的处理、处理结果、属性驱动和模型驱动、异常处理机制等。。。

    Struts2入门教程(全新完整版)

    12.异常处理 18 三、在Action获取Scope对象 19 方式一、与Servlet解耦合的非IOC方式 20 方式二、与Servlet解耦合的IOC方式 21 方式三、与Servlet耦合的非IOC方式 21 方式四、与Servlet耦合的IOC方式 22 四、OGNL与...

    利用java filter 实现业务异常拦截源码

    我们在做项目中肯定都会遇到自定义业务异常 ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理机制,我们在业务层会跑出我们遇到业务处理异常 ,然后交由...

    Java Web项目整体异常处理机制

     出来工作一年时间了,我也大概对异常处理有了一些了解,在这呢小弟简单介绍下个人对异常处理的见解,抛砖引玉,希望各位大神提出宝贵的意见和建议。  拿spring+struts2+hibernate项目说明:通常一个页面请求到...

    ssi(struts2 spring myibatis)

    整合的struts2 spring myibatis easyUI基础框架 ...2.异常处理机制 3.logback日记整合 4.oracle agile 整合(不需要agile,可以直接删除代码) 5.其他一些小东西的整合和整理 6.项目中有详细的注解

    精通Struts基于MVC的Java Web设计与开发 孙卫琴 光盘

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    精通 Struts:基于 MVC 的 JavaWeb 设计与开发(PDF)

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    精通struts:基于mvc的java web设计与开发part2

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator 验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    精通Struts_基于MVC的Java Web设计与开发

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 9.3.1 添加CVS资源库 9.3.2 提交...

    精通struts:基于mvc的java web设计与开发part3

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator 验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    精通struts:基于mvc的java web设计与开发part1

    第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator 验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...

    信息办公Struts图书馆管理系统-struts.rar

    Struts图书馆管理系统是...此外,该系统还提供了良好的错误处理和异常处理机制,确保了系统的稳定性和可靠性。总之,Struts图书馆管理系统是一个功能强大、易于使用的Web应用程序,适用于作为毕业设计或课程设计的项目

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 9.3.1 添加CVS资源库 9.3.2 提交...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    8.4.4 改变异常处理的方式 8.5 小结 第九章 CVS使用指南 9.1 CVS介绍 9.1.1 CVS简介 9.1.2 为什么要使用CVS 9.2 建立CVS的开发环境 9.2.1 下载CVS 9.2.2 配置CVS 9.3 CVS的使用方法 9.3.1 添加CVS资源库 9.3.2 提交...

Global site tag (gtag.js) - Google Analytics