- 浏览: 2158612 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
转自:SSH项目中利用ExceptionHandler处理异常
Class ExceptionHandler: An ExceptionHandler is configured in the Struts configuration file to handle a specific type of exception thrown by an Action.execute method.
一、概述
在Struts1.1的版本中加入了对异常的处理 Exception Handling,有了它就不需要我们用try/catch等捕获异常,一旦出现了我们已经定义的异常那么就会转到相应得页面,并且携带定制的信息。Struts框架提供了默认的异常处理org.apache.struts.action.ExceptionHandler,它的execute()方法负责处理异常。在需要实现自定义处理时重写方法,可以在配置文件定义由谁来处理Action类中掷出的某种异常。
二、Struts框架处理异常的流程
struts的控制器负责捕获各种异常,包括控制器运行中本身抛出的异常,以及调用模型的业务方法时抛出的异常。当struts的控制器捕获到异常后,在异常处理代码块中,创建描述信息的actionMessage对象把它保存在acionMessages(或其子类actionErrors)对象中,然后把actionMessage保存在特定范围(配置文件中的scope)。然后可以用<html:errors />检索特定范围内的actionMessages对象
三、自定义异常处理
1, 创建自己的异常处理类public class ExceptionHandler extends org.apache.struts.action.ExceptionHandler
2, 定义异常处理配置文件
全局异常 在struts-config.xml中定义<global-exceptions />
局部异常 在struts-config.xml中定义<exception />
3, 创建异常信息显示页面
4, 创建测试action
Class ExceptionHandler: An ExceptionHandler is configured in the Struts configuration file to handle a specific type of exception thrown by an Action.execute method.
一、概述
在Struts1.1的版本中加入了对异常的处理 Exception Handling,有了它就不需要我们用try/catch等捕获异常,一旦出现了我们已经定义的异常那么就会转到相应得页面,并且携带定制的信息。Struts框架提供了默认的异常处理org.apache.struts.action.ExceptionHandler,它的execute()方法负责处理异常。在需要实现自定义处理时重写方法,可以在配置文件定义由谁来处理Action类中掷出的某种异常。
二、Struts框架处理异常的流程
struts的控制器负责捕获各种异常,包括控制器运行中本身抛出的异常,以及调用模型的业务方法时抛出的异常。当struts的控制器捕获到异常后,在异常处理代码块中,创建描述信息的actionMessage对象把它保存在acionMessages(或其子类actionErrors)对象中,然后把actionMessage保存在特定范围(配置文件中的scope)。然后可以用<html:errors />检索特定范围内的actionMessages对象
三、自定义异常处理
1, 创建自己的异常处理类public class ExceptionHandler extends org.apache.struts.action.ExceptionHandler
2, 定义异常处理配置文件
全局异常 在struts-config.xml中定义<global-exceptions />
<global-exceptions><!-- 元素可以包含一个或者多个<exception> --> <exception key="error.common"<!-- <message-resources parameter="MessageResources" />中的key --> type="com.fengzhiyin.exception.ExistException"<!-- 指定需要处理异常类的名字 --> handler="com.bjnv.water.common.ExceptionHandler" <!-- 指定异常处理类默认是ExceptionHandler --> path="/jsp/common/error.jsp"<!-- 指定当前异常发生的时候转发的路径 --> scope="request"><!-- 指定ActionMessages实例存放的范围 --> </exception> </global-exceptions>
局部异常 在struts-config.xml中定义<exception />
<action-mappings> <action path=”/waterUser” type=”**Action” name=”*Form”> <exception key=”<span style="font-size: x-small;">expired.existName</span>” type=” com.fengzhiyin.exception.ExistException” path=”/error.jsp”/> <forward name=”success” path=”***”/> </action> </action-mappings>
3, 创建异常信息显示页面
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:html locale="true"> <head> <title> Exception Handler</title> <html:base /> </head> <body> <h1>系统出现一个意外</h1> 请将下面的提示信息反馈给你的系统管理员:<br> <html:errors /> <!--将在这里显示”<span style="font-size: x-small; color: #0000ff;">你要添加的用户名称已经存在,请添加新的名称!</span>”--> </body> </html:html>
4, 创建测试action
public class **Action extends BaseAction { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { throw com.fengzhiyin.exception.ExistException(); } }
发表评论
文章已被作者锁定,不允许评论。
-
xml 字符串和xml Document相互转换、xml Document内容输出到http response
2012-11-05 10:07 5567import java.io.ByteArrayOutpu ... -
isAssignableFrom & isInstance
2012-11-02 14:34 1226java.lang.Object extended by ja ... -
X.509、数字签名、CA(Certificate Authority)、自签名证书、PKI
2012-10-18 14:22 6324X.509是由国际电联电信委员会(ITU-T)为单点登录(SS ... -
keytool、keystore、jarsigner、生成自签名证书
2012-10-18 10:27 8050Keytool是Java的密钥和数字证书管理工具,位于JDK_ ... -
Java 类初始化顺序
2012-08-21 14:07 1102class Parent { // 静态变量 pu ... -
java嵌套类、静态嵌套类、内部类
2012-08-21 10:29 2110官网文档:Nested Classes 什么是嵌套类及内部类 ... -
java静态类、静态方法、静态变量、实例变量、线程本地变量、静态线程本地变量
2012-08-21 10:24 1885静态类: 只有嵌套类才 ... -
ProcessBuilder 和 Runtime
2012-07-17 09:26 20943ProcessBuilder.start() 和 Runtim ... -
对称加密、PBE基于密码加密、PKCS
2012-07-05 11:07 7801对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信 ... -
(转)xml schema xsd 入门
2012-06-28 16:05 2470理解XML Schema: XML Schema 初步 (I) ... -
XmlRootElement JAXB注解
2012-06-28 15:23 39092@Retention(value=RUNTIME) @T ... -
jaxb xml数据绑定
2012-06-28 14:22 1322XML Schema编辑工具:XML Spy 常见的XML绑 ... -
(转)jpa 注解
2012-06-25 16:00 1333转自:jpa 注解 1.设置Po ... -
(转)JPA(Java Persistence API)简介
2012-06-25 14:20 1545转自JPA基础(一):全 ... -
Play 内置模板标签(1.2.3版本)
2012-06-18 14:03 5009Play framework 1.2.3 Built-in t ... -
play plugin插件 实现类似Servlet中的拦截器效果
2012-06-15 15:05 3648play plugin和module的区别见:play Mod ... -
Play tag标签,模板、tag中直接调用后台静态java方法
2012-06-15 11:02 2995见Play Framework template engine ... -
play secure模块 验证和授权管理
2012-06-14 15:48 3431参考:http://www.playframework.org ... -
Play framework HTTP Route路由
2012-06-08 14:22 1696路由组件负责把进来的HTTP请求转换成Controller控制 ... -
Play framework基本概念、请求处理流程、开发生命周期
2012-06-08 13:37 4814Play应用程序使用MVC架构 ...
相关推荐
<exception className="org.apache.struts.config.ExceptionConfig" handler="org.apache.struts.action.ExceptionHandler" key="login.error" path="/error.jsp"> ``` #### 四、其他元素简介 除了上述介绍...
全局异常处理通过 `<global-exception-mappings>` 标签定义,而局部异常处理则在 Action 类中使用 `@ExceptionHandler` 注解。 7. **国际化(Internationalization, i18n)**:Struts 2 支持多语言应用,通过资源包...
局部异常处理则在Action类中通过@ExceptionHandler注解指定。 八、最佳实践 1. 使用ActionSupport基类,它提供了默认的错误处理和字段验证。 2. 尽量避免在Action中直接写业务逻辑,而是将业务逻辑封装在Service层...
Struts是Apache软件基金会的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架。在开发过程中,错误处理是非常关键的一环,因为良好的错误处理能够提供友好的用户体验,同时...
异常处理类通常由org.apache.struts.action.ExceptionHandler定义,可以为不同的异常指定处理逻辑、转发路径、消息资源等。这使得整个应用在出现异常时,可以统一管理和响应,提高了程序的健壮性。 4. 元素:全局...
5. **异常处理**:Struts2提供了一套完善的异常处理机制,包括`ExceptionMappingInterceptor`和`ExceptionHandler`,使得开发者可以自定义错误页面和处理策略。 6. **结果渲染**:`Result`接口和各种结果类型实现...
异常处理在 Struts 1.1 版本中得到了增强,提供了声明式的异常处理机制。默认的 ExceptionHandler 类会捕获 Action 类中的异常,将 ActionError 对象存储在 JSP 可访问的范围内,从而可以在视图层展示错误信息。...
另外,你还可以通过继承`org.apache.struts.action.ExceptionHandler`接口来自定义异常处理器,这允许你在整个应用程序范围内统一处理异常,而不仅仅是单个Action。 此外,对于Struts1.x中与Action相关的异常,如`...
此外,还可以使用`@ExceptionHandler`注解在拦截器中处理异常。 2. **类型转换**(Struts_1100_OGNL_Typechange):Struts2的OGNL(Object-Graph Navigation Language)表达式语言支持自动类型转换,将表单字段的...
可以通过`@ExceptionHandler`和`@ActionError`注解来处理Action中的异常和错误。 这个DEMO展示了Struts2框架如何在没有XML配置文件的情况下运行,通过注解实现Action、结果映射、拦截器和其他核心功能。这对于理解...
- Struts支持全局的异常处理机制,可以在struts-config.xml中配置全局的ExceptionHandler。 8. **国际化与本地化**: - Struts支持多语言,可以通过资源包(properties文件)实现不同语言环境下的显示。 9. **...
6. 错误处理:Action类还可以处理异常,通过`@ExceptionHandler`注解定义异常处理器。 7. Session和Application范围:Action类可以直接访问Session和Application范围的数据,方便在不同请求间共享信息。 总之,这...
6. **异常处理**:Spring 提供了统一的异常处理机制,可以与 Struts 的 ExceptionHandler 结合,实现更精细的错误处理。 整合 Spring 和 Struts 可以利用两者的优点,如 Spring 的 DI 和 AOP 功能,以及 Struts 的 ...
`exception`子元素用于映射特定的Java异常到自定义的异常处理器类(继承自`ExceptionHandler`)。通过`className`属性,你可以指定处理特定异常的类。这提供了对异常处理的灵活性,可以根据不同类型的异常执行不同的...
9. **异常处理**:Struts1提供了全局的异常处理机制,通过在struts-config.xml中配置全局的ExceptionHandler,可以统一处理应用中的异常情况。 10. ** strut标签库**:Struts1提供了一套自定义的JSP标签,如`...
Struts提供了全局异常处理机制,通过配置ActionError和ExceptionHandler,可以统一处理运行时异常,提高系统的健壮性。 八、Validator验证框架 Struts的Validator组件用于校验用户输入,可以自定义验证规则,并在...
- **Handler**:指定异常处理类,通常是继承自`org.apache.struts.action.ExceptionHandler`的自定义类。 - **Key**:指定异常消息的国际化资源键。 - **Path**:异常发生时的转发路径。 - **Scope**:指定...
9. **异常处理**:Struts2使用ExceptionMappingAction和全局异常映射,Spring MVC通过@ControllerAdvice和@ExceptionHandler进行全局异常处理。 10. **测试**:Spring提供的MockMVC使得单元测试和集成测试更加方便...
9. **异常处理**:Struts2提供了一套全局异常处理机制,可以在配置文件中定义全局错误页面,或者通过`@ExceptionHandler`注解在Action类中捕获和处理特定异常。 10. **国际化与本地化**:Struts2支持多语言环境,...
7. **异常处理**:Struts提供了一套强大的异常处理机制,通过全局的ExceptionHandler或者在struts-config.xml中配置ActionMapping的exception属性,可以对各种异常进行统一处理。 8. **Tiles框架集成**:Tiles是一...