最好的方式是通过声明管理异常处理

1Action里面的execute()方法抛出所有异常:public String execute() throws Exception{}
2声明异常捕捉
    配置struts.xml中的异常映射
   <exception-mapping../>元素
               需指定两个属性:
                                               |--exception    异常类型
                                               |--result           逻辑视图名
    分--|--局部    action元素里
          |--全局    global-exception-mapping元素里
         注意:全局异常映射的result属性值通常不用使用局部结果,局部异常映射的result值既可以使用全局结果也可以用局部结果。
 
 输出异常信息:

        <s:property value="exception"/>输出异常对象本身
<s:property value="exception.message"/>
<s:property value="exceptionStack">输出异常堆栈信息

 Action里面    
 

 public String execute() throws Exception
{
if (getUsername().equalsIgnoreCase("user"))
{
throw new MyException("自定义异常");
}
if (getUsername().equalsIgnoreCase("sql"))
{
throw new java.sql.SQLException("用户名不能为SQL");
}
if (getUsername().equals("crazyit.org")
&& getPassword().equals("leegang") )
{
addActionMessage("哈哈,服务器提示!");
return SUCCESS;
}
return ERROR;
}

struts.xml里面
 
<global-exception-mappings>
<!-- 当Action中遇到SQLException异常时,
系统将转入name为sql的结果中-->
<exception-mapping exception="java.sql.SQLException" result="sql"/>
<!-- 当Action中遇到Exception异常时,
系统将转入name为root的结果中-->
<exception-mapping exception="java.lang.Exception" result="root"/>
</global-exception-mappings> <action name="login" class="org.crazyit.app.action.LoginAction">
<!-- 定义局部异常映射, 当Action中遇到MyException异常时,
系统将转入name为my的结果中-->
<exception-mapping exception="org.crazyit.app.exception.MyException"
result="my"/>
<!-- 定义三个结果映射 -->
<result name="my">/WEB-INF/content/exception.jsp</result>
<result name="error">/WEB-INF/content/error.jsp</result>
<result>/WEB-INF/content/welcome.jsp</result>
</action>

配置Struts2的异常处理的更多相关文章

  1. Struts2的异常处理

    Struts2的异常处理 1.异常处理机制(1)发送请求到控制器(Action); (2)Action出现异常后,依照所捕捉的不同异常转入不同的视图资源. 2.异常捕捉 (1)在Action的处理逻辑 ...

  2. 【struts2】Struts2的异常处理

    在Action中execute方法声明为:public String execute() throws Exception,这样,Action可以抛出任何Exception. 1)自己实现异常处理 我 ...

  3. (十)struts2的异常处理机制

    成熟的MVC框架应该提供成熟的异常处理机制.当然可以在方法中手动捕捉异常,当捕捉到特定异常时,返回特定逻辑视图名. 这种方式非常繁琐,需要在方法中写大量try catch块,最大的缺点还是一旦需要改变 ...

  4. 配置struts2+spring,springmvc

    Struts2+Spring整合 一.spring负责注入,struts2负责它自己的工作.这样不是很符合spring作为ioc容器的全部功能,不推荐. 二.spring负责全部bean和struts ...

  5. Eclipse配置Struts2.x

    问了我同学现在JavaWeb主流框架是哪些.他说基本框架是SSH,struts2+spring+hibernate,流行的是SSM,springmvc+spring+mybatis,原本计划学下Str ...

  6. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  7. 在web.xml中配置struts2拦截器

    <!-- 配置Struts2的核心的过滤器 --> <filter> <filter-name>struts2</filter-name> <fi ...

  8. MyEclipse如何配置Struts2源码的框架压缩包

    1.MyEclipse如何配置Struts2源码的框架压缩包 如本机的Struts2框架压缩包路径为:D:\MyEclipseUserLibraries\struts\struts-2.3.15.3- ...

  9. eclipse中配置struts2出现There is no Action mapped for namespace [/] and action name [Login] associated wi

    下午在eclipse中配置struts2时报: There is no Action mapped for namespace [/] and action name [Login] associat ...

随机推荐

  1. B树,B-树,B+树,B*树

    B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: B ...

  2. MongoDB:The Definitive Guide CHAPTER 2 Getting Started

    MongoDB is very powerful, but it is still easy to get started with. In this chapter we’ll introduce ...

  3. oc学习之路----多级指针的使用和内存分析

    ---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 ...

  4. xml基础学习笔记

    1 XML入门 1.1 引入 HTML: 负责网页的结构 CSS: 负责网页的样式(美观) Javascript: 负责在浏览器端与用户进行交互. 负责静态的网页制作的语言 HTML语言特点: 1)由 ...

  5. web dynpro message(备忘用)

    DATA lo_api_controller TYPE REF TO if_wd_controller. DATA lo_message_manager TYPE REF TO if_wd_messa ...

  6. JSP 内置对象的四种属性范围

    在jsp页面中的对象,包括用户创建的对象(例如,javaBean对象)和JSP的隐含对象,都有一个范围属性.范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象.例如,session对象在会话 ...

  7. Xcode 5 安装coco2d-iphone

    从http://www.cocos2d-iphone.org/download/下载并解压缩最新版本的cocos2d,默认情况下会保存在 /Users/XXX/Downloads/cocos2d-ip ...

  8. 【转】cocos2d-x学习笔记03:绘制基本图元

    第一部分:基本图形绘制 cocos2dx封装了大量opengl函数,用于快速绘制基本图形,这些代码的例子在,tests\DrawPrimitivesTest目录下 注意,该方法是重载node的draw ...

  9. 5 Ways to Use Log Data to Analyze System Performance--reference

    Recently we looked across some of the most common behaviors that our community of 25,000 users looke ...

  10. java转义xml中的多余尖括号

    xml中的敏感字符是尖括号,如果xml的值中含有尖括号,那么在解析的时候就会报错,如: <?xml version="1.0" encoding="UTF-8&qu ...