Struts2 中的异常处理?
异常有几种类型:
1.意外的错误
2.改变工作流
3.通过与用户交互来恢复
4.显示错误
下面分别对这几种异常的解析
1.意外的错误
<package name="itcast" namespace="/test" extends="struts-default">
<global-results>
<result name="unknown">/WEB-INF/jsp/error.jsp</result>
<result name="dberror">/WEB-INF/jsp/dberror.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="unknown" exception="java.lang.Exception"></exception-mapping>
<exception-mapping result="dberror" exception="java.sql.SELException"></exception-mapping>
</global-exception-mappings>
</package>
这种方式用来捕获一些为知的错误,java.lang.Exception是所有异常的基类,不管是什么错误,最终都能给用户友好的界面交互,
也可以按异常的种类进行分类(如:数据库错误,操作错误,服务器连接错误等),定义多个视图
2.改变工作流
<global-results>
<result name="login">/WEB-INF/jsp/login.jsp</result>
<result name="noaccess">/WEB-INF/jsp/noaccess.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="login" exception="UserNotAuthentivatedException"></exception-mapping>
<exception-mapping result="noaccess" exception="ActionNotAllowedException"></exception-mapping>
</global-exception-mappings>
遇到错误时改变工作的走向
3.通过与用户交互恢复
<action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute" >
<result name="success">/WEB-INF/page/hello.jsp</result>
<result name="dupPk">/WEB-INF/jsp/user/findUser-success.jsp</result>
<exception-mapping result="dupPk" exception="org.hibernate.exception.ConstraintViolationException"></exception-mapping>
</action>
在action中定义<exception-mapping>捕捉异常
4.错误显示
当exception拦截器拦截了异常之后,将在值栈中添加两个新的属性:
1.exception:异常的描述信息,通过getMessage()方法得到。
2.exceptionStack:异常栈的跟踪信息。
在jsp页面上显示错误信息:
<s:if test="exception!=null">
<s:text name="errorMessage"/>
</s: if>
errorMessage已在资源文件中定义
其他的错误信息可以通过property标签来获取:
<s:property value="exception" />
<s:property value="exceptionStack" />
分享到:
相关推荐
在Struts2中,异常处理是一项重要的功能,它确保了应用程序的健壮性和用户友好的错误反馈。这篇博客文章“Struts2中异常处理(demo)”可能详细介绍了如何在Struts2框架下优雅地处理程序中的异常。 在Java Web开发...
在Struts2中,异常处理是一项重要的功能,它确保在应用程序遇到错误时能够优雅地处理,提供友好的用户反馈,并保持系统稳定性。下面将详细讨论Struts2中的异常处理机制及其相关知识点。 1. **异常处理机制概述** ...
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
1. **异常拦截器**:在Struts 2中,我们可以通过编写自定义的拦截器来处理异常。拦截器是Struts框架的核心组件,它们在Action执行前后进行拦截,可以捕获并处理可能出现的异常。通过实现`Interceptor`接口并覆盖`...
2. **Struts-config.xml配置异常处理**:在框架配置文件中,`<global-exceptions>`标签用于定义全局异常处理规则。例如: ```xml ``` 这段配置表示,如果任何地方抛出了`java.lang.Exception`或其子类,...
Struts2提供了ActionError和FieldError接口,允许我们在Action类中捕获并添加错误信息,然后通过配置struts.xml文件,定义全局或特定Action的异常处理规则,使这些错误以JSON格式响应。 首先,你需要在Action类中抛...
Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...
在Struts2中,异常处理机制是关键组成部分,确保程序在遇到错误时能够优雅地处理并提供反馈给用户。本文将深入探讨Struts2的异常处理机制,特别是声明式异常捕捉和异常映射。 首先,Struts2的异常处理机制允许...
在Struts2中,异常处理主要通过两种方式实现:全局异常处理和动作级别的异常处理。全局异常处理适用于整个应用,而动作级别的处理则针对特定的动作类。 1. 全局异常处理:Struts2提供了一个`struts-default.xml`...
在Struts2框架中,异常处理是至关重要的一个部分,它确保了应用程序的稳定性和用户体验。Struts2提供了多种方式来捕获和处理异常,帮助开发者优雅地处理程序中的错误情况。以下是Struts2异常处理的四种主要方法,...
项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。
在提供的压缩包文件"Struts_exception"中,可能包含了Struts异常处理的相关示例代码或者教程,例如如何配置struts.xml,如何创建自定义异常类,以及如何在Action中进行异常处理等。这些资源可以帮助开发者更深入地...
首先,Struts1.x框架默认的异常处理方式是通过`struts-config.xml`配置文件中的`<global-exceptions>`标签来定义全局异常处理。在这个标签内,你可以声明一个或多个异常类型,并为每个异常指定一个错误页面,当...
Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括表单处理、MVC设计模式支持以及异常处理机制。在文件上传方面,Struts2提供了方便的API和配置方式来处理单个或多个文件的上传。在这个主题中,...
在Struts2中,处理程序方法可能会抛出各种异常,为了提供统一的错误处理和用户友好的异常提示,我们可以定义全局异常提示。这篇博文主要探讨的是如何在Struts2中设置和使用全局异常提示属性文件。 首先,我们要理解...
6. **处理错误和异常消息**:Struts2默认会自动从资源文件中查找错误和异常消息,只需确保在`struts.properties`中设置了正确的错误消息资源包。 在提供的压缩包`07`中,可能包含了相关的教学材料,如幻灯片和案例...