异常处理
在实际项目开发中异常是需要统一处理的,
截获OrgManagerImpl中抛出的信息,要不要都行
|
利用struts中的处理机制(1.编程处理(手工):try/catch截获异常(这种在统一的时候不用) 2.将异常抛出交给struts自动处理)
1. 手工处理(编程处理)
在action中
//异常处理
try {
orgManager.delOrg(id);
} catch (Exception e) {
//1. 编程式处理 return mapping.findForward("del_fail");
//2. 手工处理
ActionMessages msgs=new ActionMessages();
ActionMessage msg=new ActionMessage("errors.detail",e.getMessage());
msgs.add("detail",msg);
this.saveErrors(request, msgs);
return mapping.findForward("exception");
<forward name="exception" path="/org/exception.jsp"></forward>
2. Struts中自动处理
Action
<action
path="/org"
type="org.springframework.web.struts.DelegatingActionProxy"
MessageResources.properties中定义的错误类型
|
name="orgForm"
scope="request"
parameter="method"
>
<exception key="errors.detail" type="java.lang.RuntimeException" scope="request" path="/org/exception.jsp"></exception>这句就自动处理
<forward name="index" path="/org/index.jsp"></forward>
<forward name="add_input" path="/org/add_input.jsp"></forward>
</action>
此种自动异常处理缺点:如果异常带很多参数,那么自动异常是没办法处理多参数的
3. 不同异常用一个表示(两个不同异常用一个异常框架处理)
定义统一的异常,通常通过构造器来传递参数。
在struts—config.xml中将exception放在全局异常中
struts—config.xml
com.ygp.oa.manager中创建SystemException类,继承RuntimeException类,并通过复写父类建立相关构造器。
(此时throw new SystemException("存在子机构,不允许删除","exception.org.del");可以在MessageResources.properties中定义相关异常)
默认情况下使用struts中异常处理器handler,
<global-exceptions>
<exception key="errors.detials"
type="com.ygp.oa.manager.SystemException"
path="/common/exception.jsp"
scope="request"
handler="com.ygp.oa.web.actions.SystemExceptionHandler"
>
</exception>
</global-exceptions>
package com.ygp.oa.web.actions;中
public class SystemExceptionHandler extends ExceptionHandler {
public ActionForward execute(
Exception ex, //后台传递过来的exception通过orgaction throw抛出,传来exception
ExceptionConfig ae,//代表exception中的所有配置
ActionMapping mapping,
ActionForm formInstance,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException {
return super.execute(ex, ae, mapping, formInstance, request, response);
}
}
分享到:
相关推荐
本文将深入探讨SSH配置的详细步骤以及在配置过程中可能遇到的异常处理。 首先,我们从Struts开始。Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。配置Struts通常包括以下步骤: 1. 添加...
以下将详细介绍SSH配置的步骤以及可能出现的异常处理。 **1. 环境配置** 在进行SSH框架集成之前,确保已经安装并配置好以下环境: - **IDE**: MyEclipse - **JDK**: 至少1.6版本 - **Java EE**: 5.0 - **Web服务器*...
### SSH异常和日志处理方案(开发人员必备) #### 一、异常与日志的作用 ##### 1.1 异常的作用 Java异常机制是一种重要的编程特性,它允许程序员识别和处理程序执行过程中可能发生的错误状况。根据是否需要直接...
本篇文章将详细介绍如何在MyEclipse集成开发环境中配置SSH,并提供异常处理的策略。 首先,让我们了解SSH框架的核心组件: 1. **Struts2**:这是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,负责...
通过这篇《SSH异常总结》的分析,开发者可以对SSH异常有更深入的理解,并在实际工作中更有效地处理这些问题。未来,开发者们在进行SSH开发和维护时,应持续关注可能出现的异常,不断总结和优化处理流程,从而提升...
在实际开发中,可能需要处理各种异常情况,如网络中断、超时、权限问题等,确保程序的健壮性。 总的来说,通过`ssh_qt`库,QT开发者可以轻松地在应用程序中集成SSH功能,安全地执行远程服务器上的任务。理解并熟练...
6. **Spring框架**:`spring-context.jar`, `spring-tx.jar`等,SSH中的Spring框架负责管理依赖,包括Hibernate的初始化和事务处理。 7. **其他辅助库**:如`dom4j.jar`,用于XML处理;`slf4j-api.jar`和`slf4j-log...
7. **异常处理**:SSH框架通常会有统一的全局异常处理机制,对可能出现的异常进行捕获和处理。 8. **视图渲染**:登录成功或失败后,Struts2会根据配置的结果转发或重定向到相应的JSP页面进行显示。 通过这个...
5. 错误处理:捕获并处理SSH操作中可能出现的异常情况,如网络错误、认证失败等。 “素数的求法”这部分,VB可以用来实现各种算法,比如埃拉托斯特尼筛法,用于寻找一定范围内的所有素数。这可能是为了展示VB的基本...
在开发过程中,开发者可能会遇到的问题有配置连接参数、处理异常、调试网络延迟、优化性能等。通过SSH.NET-develop提供的示例代码,开发者可以学习如何正确使用库中的类和方法来解决这些问题。同时,了解SSH协议的...
4. **日志监控**:监控SSH登录日志,及时发现并处理异常登录尝试。 **总结** SSH集成是现代IT基础设施中的重要组成部分,它提供了安全的远程访问和自动化操作手段。理解和掌握SSH集成,对于提升工作效率和系统安全...
首先,SSH中的每一个组件都有其在事务处理中的角色: 1. **Struts2**:作为MVC框架,主要负责用户界面和业务逻辑的交互,通常不直接处理事务。但是,可以通过Action拦截器或插件来辅助事务管理。 2. **Spring**:...
**声明式事务管理**是Spring提供的强大特性,它允许开发者通过配置XML或注解来定义事务边界,无需在代码中显式处理。在Spring 2.0版本中,我们可以使用`<tx:annotation-driven>`标签在配置文件中启用基于注解的事务...
在SSH中,Spring可以自动处理事务的开启、提交、回滚,以及异常处理,使得事务管理更为规范和高效。相比传统的Try/Catch机制,AOP简化了代码,减少了重复性工作,提升了代码的可读性和可复用性。 在Hibernate中,有...
5. **异常处理**:在通用DAO中,通常会统一捕获并封装数据库操作中的异常,如`DataAccessException`,并向上抛出更具体的业务异常,以便服务层进行适当的错误处理和反馈。 6. **性能优化**:为了提高性能,通用DAO...
在事务处理中,Hibernate可以与Spring紧密集成,共同处理事务的提交和回滚。 在“OA”系统中,事务处理是至关重要的,因为它确保了数据的一致性和完整性。在企业级应用中,往往需要处理多个数据库操作作为一个原子...