在struts应用中处理异常的各种方式

原创 2004年10月15日 15:47:00
STRUTS为我们提供了两种错误机制,我们把一致的,可以认为的处理叫做他错误,如用户密码错误。位置的系统产生的错误叫他异常。

对于用户错误处理struts框架提供了两个类来处理它,一个是actionerror(用来包装错误信息)另一个是actionerrors(用来存放actionerror),

1、创建异常类

(1)扩展moduleexception类;
(2)创建自定义的异常类体系

2、由JAVAWEB容器捕获异常
(不是所有tomcat都支持),在开发实际应用时,让web容器来捕获和业务逻辑相关的应用异常是不可取的,这种异常应该由struts的控制起来处理,web容器通常负责捕获严重的系统异常。(eg:500)

3、以配置方式处理异常
配置方式是指在struts配置文件中配置<EXCETION>元素,该元素制定处理特定异常的异常处理类,以及请求转发路径。配置方式可以避免在action类中通过硬编码来处理异常,从而提高应用的灵活性、可充用性和可维护性。

<具体定制异常处理的方法和机制>
  要定制自己的异常处理机制,第一步是继承org.apache.struts.action.ExceptionHandler类。这个类有2个方法可以覆盖,一个是excute()另外一个是storeException(). 在多数情况下,只需要覆盖其中的excute()方法。 



4、已编程方式处理异常
在ACTION类中已编程方式来处理异常(3、4种方法结合)

Struts2拦截器实现异常处理

Struts2拦截器实现异常处理机制 在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印到浏览器可能会让用户感觉莫名其妙,也有可能让某些用户找到搞定系统的方法。 所以不要在...
  • snakeMoving
  • snakeMoving
  • 2016年09月29日 20:16
  • 2476

Struts2中Action内的两种异常处理方式

假设项目为dao、service、web.action三层。正常的异常处理流程为,从底层dao开始向上抛throws,抛到上层service层后try-cache捕获处理。   web.action只...
  • zilong0536
  • zilong0536
  • 2016年09月08日 15:21
  • 1144

Struts2中配置处理结果及异常处理

 当Action处理用户请求结束后,控制器应该使用哪个视图资源生成响应呢?          这就必须使用元素进行配置,该元素定义逻辑视图名和物理视图资源之间的映射关系。 理解...
  • kakarot5
  • kakarot5
  • 2015年03月24日 15:31
  • 1575

转载/Struts2拦截器实现异常处理机制

创建ErrorInterceptor.java import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger...
  • isiah_zhou
  • isiah_zhou
  • 2016年04月21日 07:55
  • 1359

Struts2在开发中的一些异常总结(持续更新)

本文主要记录struts2在开发中会遇到的一些问题或者异常,方便后面查阅。 1. java.lang.ClassNotFoundException: org.apache.struts2.dispat...
  • eson_15
  • eson_15
  • 2016年05月01日 16:30
  • 2379

struts中异常的处理

首先建一个异常类: package blog; public class MyException extends Exception {     private static final...
  • xzf19901108
  • xzf19901108
  • 2012年07月17日 20:21
  • 322

控件system.windows.forms.Label在设计器中引发了一个未经处理的异常,已被禁用

问题出现在MDI窗体中,用PictureBox作为MDI窗体背景图片(更改MDI窗体背景属性运行效果不是很理想)问题出现了,画一个控件它会报错,提示 给控件设置一下父容器。 代码:label1...
  • h273979586
  • h273979586
  • 2016年12月25日 15:00
  • 11856

c++ :0x00e08b47 处有未经处理的异常: 0xC00000FD: Stack overflow

问题描述:c++程序运行时候出现:divGraph.exe 中的 0x00e08b47 处有未经处理的异常: 0xC00000FD: Stack                            ...
  • a1456123a
  • a1456123a
  • 2015年07月11日 14:17
  • 5014

控件System.Windows.Froms.XX在设计器中引发了一个未经处理的异常,已被禁用

前言: 今天在敲机房的时候,想在主窗体上面添加几个标签框和按钮;主窗体是容器,然后再主窗体上面添加了一个直线或圆或矩形,然后就出错了。 内容: (1)出现的错误: 前提: (1)主窗体设置为:IsM...
  • tgbyn
  • tgbyn
  • 2017年11月12日 21:44
  • 290

ActiveX 采用_onexit()或atexit() 导致的 0x3115DF9F 处有未经处理的异常(在 iexplore.exe 中): 0xC0000005: 执行位置 0x3115DF9F

项目采用ATL 作的ActiveX 程序中有动态调用库 #if defined(WIN32) void *sc_dlopen(const char *filename) { LOG("sc_dl...
  • hknaruto
  • hknaruto
  • 2016年03月03日 09:59
  • 2126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在struts应用中处理异常的各种方式
举报原因:
原因补充:

(最多只允许输入30个字)