`

struts2配置全局异常拦截

 
阅读更多
把这段配置放到package中就行了....
<global-results>	
<result name="commonErrorPage">/error.jsp</result>
</global-results>
<global-exception-mappings>   
	        <exception-mapping name="commonErrorPage"  
	                           exception="java.lang.Exception"  
	                           result="commonErrorPage"/>   
	    </global-exception-mappings>


其实也可以配置一个拦截器,拦截invocation.invoke()是否有异常,有异常则设置错误信息返回到指定页面。请看下面代码:
1.struts.xml的配置:
<interceptors>
	<interceptor name="exceptionInterceptor" class="ExceptionInterceptor" />
	<interceptor-stack name="myStack">
	    <interceptor-ref name="defaultStack" />
	    <interceptor-ref name="exceptionInterceptor" />
         </interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />

2.其中ExceptionInterceptor在Spring中有配置:
<bean id="ExceptionInterceptor"
	class="com.business.interceptor.ExceptionInterceptor"></bean>

3.自己在实现EsbLogInterceptor这个类中拦截代码:
/**
 * 异常拦截器,将异常信息捕获,然后统一在异常信息页面进行显示处理
 * @author.....
 * 
 */
public class ExceptionInterceptor extends AbstractInterceptor
{

    private static final long serialVersionUID = -973363922210992103L;

    public static final String EXCEPTION = "commonErrorPage";

    @Override
    public String intercept(ActionInvocation invocation) throws Exception
    {
        try
        {
            return invocation.invoke();
        }
        catch (Exception e)
        {
            ActionContext context = invocation.getInvocationContext();
            StringWriter writer = new StringWriter();
            e.printStackTrace(new PrintWriter(writer, true));
            context.put("tipMessage", e.getMessage());
            context.put("tipCourse", writer.toString());
            return EXCEPTION;
        }

    }
}
分享到:
评论

相关推荐

    Struts2学习案例(拦截器)

    7. **异常处理**:学习如何在Struts2中处理异常,如使用全局异常拦截器。 8. **国际化和本地化**:如果案例涉及,了解如何在Struts2中实现多语言支持。 通过深入学习和实践这个案例,你可以更全面地理解和掌握...

    struts2处理项目全局异常

    项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。

    struts2 拦截器实例

    2. **默认拦截器栈**:`defaultStack`包含了Struts2内置的一些拦截器,如`params`(处理参数),`i18n`(处理国际化),`exception`(处理异常)等。 3. **应用全局拦截器**:现在,所有Action都会在执行前经过`...

    struts2 全局异常提示定义属性文件使用

    在Struts2中,处理程序方法可能会抛出各种异常,为了提供统一的错误处理和用户友好的异常提示,我们可以定义全局异常提示。这篇博文主要探讨的是如何在Struts2中设置和使用全局异常提示属性文件。 首先,我们要理解...

    Struts2 拦截器

    拦截器是Struts2框架的核心特性之一,它们扮演着处理请求、增强功能和实现业务逻辑的角色。在Struts2中,拦截器就像过滤器一样工作,通过链式调用在动作执行前后进行预处理和后处理。 首先,我们来理解一下拦截器的...

    SSH笔记_Struts2配置

    - **全局配置**:在`struts-default.xml`或`struts-plugin.xml`中,可以设置全局拦截器、常量等。 - **应用配置**:在`struts.xml`中定义Action、结果类型、拦截器栈等,这是应用的核心配置文件。 3. **Action...

    使用struts2拦截器对登陆权限验证

    在Struts2配置中,我们需要将这个拦截器添加到拦截器栈中,通常是在`struts.xml`文件中。这样,每次请求到达Action之前,都会先经过这个拦截器: ```xml &lt;struts&gt; ...

    Struts2异常处理机制

    通过在`struts.xml`或相应的配置文件中定义全局异常处理,可以为整个应用设定统一的异常处理策略。全局异常处理通常用于处理那些没有被Action或者拦截器捕获的异常。你可以定义一个全局的结果类型(如`global-...

    struts2中异常处理(demo)

    1. **全局异常处理**:在Struts2的配置文件中,可以定义一个或多个`&lt;global-exception-mappings&gt;`标签来处理全局异常。这些映射可以指定一个特定的Action或结果来处理特定类型的异常。例如,当发生`...

    Struts2 拦截器的执行顺序(二十九)

    6. **Exception拦截器**:处理未被捕获的异常,可以配置全局错误页面。 在`src`目录下,可能包含了Struts2项目的源代码,包括Action类、拦截器类以及其他业务逻辑相关的Java类。通过分析这些源代码,我们可以了解...

    留言板留言板struts2留言板struts2

    9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...

    struts2的配置信息

    总的来说,Struts2的配置涉及到很多方面,包括Action、拦截器、结果和全局配置。通过灵活的配置,开发者可以根据项目需求定制自己的MVC架构,提高开发效率和代码的可维护性。了解并掌握Struts2的配置,对于Java web...

    Struts2 配置文件手册

    配置文件在Struts2框架中起着至关重要的作用,它们定义了框架的行为、拦截器、对象工厂以及各种组件的配置。下面将详细介绍Struts2配置文件中的关键元素。 1) **struts-default.xml**: 这是Struts2框架默认加载的...

    Struts2转换器、拦截器、验证以及国际化

    **默认拦截器栈**:Struts2提供了多个默认的拦截器栈,如`defaultStack`、`simpleStack`等,它们包含了常用的操作,如类型转换、参数填充、异常处理等。 **自定义拦截器**:开发者也可以根据需要创建自定义拦截器,...

    Struts2视频教程

    - **异常处理**:配置异常拦截器,实现全局异常捕获和处理,提升用户体验。 - **文件上传与下载**:Struts2内置了对文件上传的支持,可以轻松实现文件上传功能;同时也可以配置下载功能,满足文件分发的需求。 - **...

    struts2实现权限拦截.rar

    为了处理权限验证失败的情况,你可能需要配置一个全局异常处理结果,比如`exception`或`login`,这样当权限拦截失败时,用户会被导向这个结果页面。 5. **注解方式配置**: 除了XML配置,Struts2还支持使用注解...

    struts2配置介绍

    - 在`struts.xml`中,可以配置全局的异常处理策略,捕获并处理特定的运行时异常。 6. **Intercept 配置**: - 拦截器(Interceptor)是Struts2的核心特性,允许在Action执行前后插入自定义逻辑。在`struts.xml`中...

    struts手动异常处理

    2. **全局异常处理**:Struts允许我们在配置文件中定义全局异常映射,这样所有Action中的未捕获异常都会被映射到特定的结果页面。在`struts.xml`或`struts-default.xml`中,可以使用`&lt;global-exception-mappings&gt;`...

    struts2的异常处理

    Struts2提供了ActionError和FieldError接口,允许我们在Action类中捕获并添加错误信息,然后通过配置struts.xml文件,定义全局或特定Action的异常处理规则,使这些错误以JSON格式响应。 首先,你需要在Action类中抛...

Global site tag (gtag.js) - Google Analytics