首先是STRUTS.XML的配置。重点在于配置文件:
<!-- struts2捕获action类异常 -->

        <global-results>

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

</global-results>

<global-exception-mappings>

<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>

</global-exception-mappings>
这样一块。
  1. <?xml version="1.0" encoding="UTF-8" ?
  2.  
  3. >
  4. <!DOCTYPE struts PUBLIC
  5. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  6. "http://struts.apache.org/dtds/struts-2.3.dtd">
  7.  
  8. <struts>
  9.  
  10. <!-- 採用注解的方式 -->
  11.  
  12. <constant name="struts.enable.DynamicMethodInvocation" value="true" />
  13. <constant name="struts.devMode" value="true" />
  14.  
  15. <package name="default" namespace="" extends="struts-default">
  16. <!-- struts2捕获action类异常 -->
  17. <global-results>
  18. <result name="error">/error.jsp</result>
  19. </global-results>
  20. <global-exception-mappings>
  21. <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
  22. </global-exception-mappings>
  23. <action name="link" class="com.test.action.LoginAction">
  24. <result>/result.jsp</result>
  25. </action>
  26. <action name="linkIOC" class="com.test.action.LoginActionIOC">
  27. <result>/result.jsp</result>
  28. </action>
  29. </package>
  30.  
  31. <!-- Add packages here -->
  32.  
  33. </struts>

測试类

  1. package com.test.action;
  2.  
  3. import java.util.Map;
  4.  
  5. import com.opensymphony.xwork2.ActionContext;
  6. import com.opensymphony.xwork2.ActionSupport;
  7.  
  8. public class LoginAction extends ActionSupport{
  9.  
  10. /**
  11. *
  12. */
  13. private static final long serialVersionUID = 1L;
  14.  
  15. private Map request;
  16. private Map session;
  17. private Map application;
  18.  
  19. public LoginAction()
  20. {
  21. System.out.println("loginaction构造函数!");
  22. request=(Map) ActionContext.getContext().get("request");
  23. session=ActionContext.getContext().getSession();
  24. application=ActionContext.getContext().getApplication();
  25. }
  26.  
  27. public String execute()
  28. {
  29. //System.out.println(request);
  30. //System.out.println(session);
  31. //System.out.println(application);
  32.  
  33. int i=100/0;/*这个地方会抛出异常,默认情况下struts2是不会捕获异常,直接抛出*/
  34.  
  35. request.put("msg", "欢迎你!");
  36. return SUCCESS;
  37. }
  38.  
  39. }

输出结果

struts2捕获action类异常的更多相关文章

  1. Struts2 之 Action 类访问 WEB 资源

    接着上次博客的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案.当然,如果读者发现任何问题均可以在下方评论告知我,先谢! 在 Action 中访问 WEB 资源 web 资源 所 ...

  2. Struts2中Action类的三种写法

      一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...

  3. 3.Struts2中Action类的三种写法

    一.普通的POJO类(没有继承没有实现)-基本不使用 public class DemoAction1 { public String execute(){ System.out.println(&q ...

  4. struts2的action类详解

    Action类的书写方式 方式1

  5. 转载 Struts2之------Action类中的get,set方法和execute方法的使用规范和使用流程(规范是没有理由的,必须遵守!!!)

    1,Action中get,set方法的使用流程? 前台form中有一个<input type="text" name="username"/> 如果 ...

  6. 2018.11.19 Struts2中Action类的书写方式

    方式1: 方式2: 方式3

  7. Struts2的Action继承ActionSupport时,利用AOP来拦截Action出现NoSuchMethodException

    参考:http://zhanghua.1199.blog.163.com/blog/static/46449807201111139501298/ 做项目的时候,由于要用到在Struts2的Actio ...

  8. Struts2中的Action类(解耦方式,耦合方式)

    一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要 ...

  9. struts2笔记02-action和Action类

    1.action      action表示一个struts2的请求! 2.Action类 能够处理struts2请求的类. (1)属性的名字需要与JavaBeans属性保持一致. 属性的类型可以是任 ...

随机推荐

  1. php缓存模块apc可能导致php-fpm终止

    如果你的网站出现502错误.同时你网站中又使用了apc模块来做缓存处理.那么这篇文章兴许能帮到你. 首先,查看了php-fpm 的进程数. 发现php-fpm的进程数已经到达了php-fpm.conf ...

  2. 使用 Go-Ethereum 1.7.2搭建以太坊私有链

    目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球 ...

  3. Jquery中attr 和 prop的区别和联系

    昨天在选择借款方类型的时候总是会出现选择要点两次的现象,比如点击公司,第一次点击选择公司,没有选中,必须在次点击才可以选中,总感觉是有点延迟加载的意思,后来审查元素, 发现是redio元素,这样的话就 ...

  4. java Log4j日志配置详解大全

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  5. unlink()

    unlink() 函数删除文件. 若成功,则返回 true,失败则返回 false. 语法 unlink(filename,context) 参数 描述 filename 必需.规定要删除的文件. c ...

  6. Excel、Exchange 和 C# (摘要)

    Excel.Exchange 和 C#Eric GunnersonMicrosoft Corporation 2003年4月21日 摘要:Eric Gunnerson 将向您介绍如何使用 Outloo ...

  7. [转载] Linux内存管理之mmap详解

    转载自http://blog.chinaunix.net/uid-26669729-id-3077015.html 一. mmap系统调用 1. mmap系统调用 mmap将一个文件或者其它对象映射进 ...

  8. 设计模式的征途—15.观察者(Observer)模式

    在日常生活中,交通信号灯指挥者日益拥挤的城市交通.红灯亮,汽车停止:绿灯亮,汽车继续前行:在这个过程中,交通信号灯是汽车的观察目标,而汽车则是观察者.随着交通信号灯的变化,汽车的行为也会随之变化,一盏 ...

  9. Oracle常用的数值函数,日期函数

    ---恢复内容开始--- 数值函数 常用的处理数值的函数有如下: No. 函数名 含义 1 round(x[,y]) 返回四舍五入后的值 2 trunc(x[,y]) 不会四舍五入 3 mod(x,y ...

  10. 如何用while循环输出十行十列变色★☆

    输出十行十列星星 k = 0 #设置一个终止变量 while k < 10: i = 0 #设置一个满十换行变量 while i < 10: print('★',end='') i += ...