异常分为2种,一种为unChecked类型,另一类是checked类型。checked异常是指程序员必须写代码捕获处理的异常、而unChecked异常程序员则可以不捕获,最后由jvm统一处理的异常。假设当你遇到checked异常、而你又不想处理时,可以将其转换为unChecked异常。所以异常也是可以转变的。unchecked异常包括所有的runtionexception。当然我们可以通过自定义异常。如果要定要unChecked异常,可以继承runtionexception。而checked异常,可以继承Exception类。
特别注意的是checked异常,子类不能抛出比父类更多的checked异常。unChecked异常则可以随意抛出。
struts提供了2种异常的处理方法。以代码为例说明
首先定义异常类如CalculateException extends RuntimeException
方法1.
1-1.在Action里面抛出异常throw new CalculateException();
1-2.配置struts-config.xml文件,添加<exception key="calerror"type="com.sunbin.calculate.CalculateException"path="/error.jsp"/>
1-3.在国际化文件中添加配置。calerror=请正确操作
注:key="
calerror"必须和国际化配置文件的“
calerror=请正确操作”相同,否则无法正确显示错误提示。
1-4.jsp错误页面显示。使用struts的html标签显示。<html:errors/>
注:action可以抛出checked exception,不受servlet限制
最后显示的结果是:
请正确操作
方法2.
2-1.在Action里面抛出异常throw new CalculateException();
2-2.在web.xml里面添加配置
<error-page>
<exception-type>com.sunbin.calculate.CalculateException</exception-type>
<location>/error.jsp</location>
</error-page>
2-3.sp错误页面。可以随意显示错误提示
两者的区别是前者针对国际化处理较好。后者比较简单。
分享到:
相关推荐
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
5. **使用`ActionError`和`FieldError`**:Struts提供了一种将异常信息存储在`ActionContext`中的机制,通过`ActionError`和`FieldError`对象,可以将错误消息关联到特定的Action或者表单字段,方便在视图层显示。...
Struts2提供了内置的异常处理机制,允许开发者定义全局和局部的异常映射,以控制应用程序中出现异常时的行为。全局异常处理适用于整个应用,而局部异常处理则针对特定Action进行。 2. **Struts2的...
Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...
总结来说,Struts1.x的异常处理机制包括全局异常配置和自定义Action异常处理两部分。通过合理利用这两种方式,开发者可以有效地控制和管理应用程序的异常,提供更健壮的错误处理,提高系统的稳定性和用户体验。在...
尽管如此,许多遗留系统仍然依赖于Struts1,因此理解其异常处理机制仍然是必要的。 在Struts1中,异常处理主要通过两个组件来实现:`Action`类和`Tiles`或`Struts-config.xml`配置文件中的`exception`标签。当一个...
Struts2包含了一些内置的拦截器,如`ValidationInterceptor`用于验证表单数据,`ExceptionHandlerInterceptor`处理异常等。开发者可以根据需求自定义拦截器,实现特定的行为,如登录检查、日志记录等。 4. **...
在Struts框架中,令牌机制(Token)是一种防止重复提交的有效方法,它主要用于处理表单数据的并发控制,防止用户意外或者恶意地多次提交表单,从而确保数据的一致性和安全性。 在Web应用中,用户可能会因为网络延迟...
Struts2提供了一种机制,通过配置文件(如struts.xml)来定义全局和特定动作的异常处理策略,以提高代码的可维护性和一致性。 1. **全局异常处理**:在Struts2的配置文件中,可以定义一个或多个`...
Struts2是Struts1.x和WebWork两个社区合作的结果,可以认为是WebWork的一个进化版本,继承了WebWork的核心机制并在此基础上进行了优化和封装。 在Struts2的工作机制中,FilterDispatcher是一个关键组件,它是一个...
在这个“struts错误处理机制小例子”中,我们将探讨Struts如何优雅地处理应用程序中的异常和错误,确保用户界面的友好性和系统的稳定性。 在Struts框架中,错误处理主要依赖于两个关键组件:ActionForm和Struts配置...
Struts Token机制是一种防止表单重复提交的有效策略,尤其在处理关键操作时,如金融交易或数据修改,防止用户意外或恶意多次点击提交按钮导致的数据重复性问题。下面将详细介绍Struts Token的工作原理、实现方式及其...
全局异常映射是Struts2配置文件(通常为struts.xml或struts-default.xml)中的一种机制,用于定义如何处理特定类型的异常。通过在`<package>`标签内添加`<global-exception-mappings>`标签,可以指定当特定异常发生...
针对异常处理,Struts提供了一种优雅的方式,使得开发者可以自定义错误处理机制。在给定的文件中,我们看到了一个基于Struts的异常处理方案,主要涉及两个关键点:自定义异常类和自定义异常处理器。 首先,我们来看...
在实际开发中,不可避免地会遇到各种异常情况,因此理解并熟练掌握Struts2的异常处理机制至关重要。本篇将深入探讨Struts2框架中的异常处理策略,以及如何在实际项目中应用。 首先,Struts2提供了一种统一的方式来...
### Struts 常见异常及处理 #### 1. javax.servlet.ServletException: Must specify type attribute if name is specified - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则...
以下是使用Struts实现Token机制的详细步骤: 1. **配置Struts2拦截器**: 首先,我们需要在Struts2的配置文件(struts.xml)中添加Token拦截器。这个拦截器会处理Token的生成和验证过程。例如: ```xml ...
Struts2的令牌机制是其防止重复提交和CSRF(跨站请求伪造)攻击的一种重要安全策略。在Web开发中,尤其是使用MVC框架如Struts2时,确保用户请求的唯一性和安全性至关重要。令牌机制就是这样的一个工具,它通过在表单...