`
mmddonkey
  • 浏览: 31703 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
文章分类
社区版块
存档分类
最新评论

struts2全局异常拦截记录日志

阅读更多

 使用这种形式的全局异常跳转,记录日志得写在jsp页面上

<global-exception-mappings>
			<exception-mapping result="error" exception="java.lang.Exception">/errorPage.jsp
			</exception-mapping>
</global-exception-mappings>

 所以自定义一个拦截器,再拦截器里记录异常

<package name="basePriv" extends="struts-default">
		<interceptors>
			
			<interceptor name="exceptionInterceptor" class="com.hanpeng.b2c.phone.priv.ExceptionInterceptor"/>  
			
			<interceptor-stack name="b2cplatPrivInterceptor">
				<interceptor-ref name="exceptionInterceptor"/>  
				<interceptor-ref name="defaultStack"/>
			</interceptor-stack>
			
		</interceptors>
		
		<default-interceptor-ref name="b2cplatPrivInterceptor"/>
		
		<global-results>
			<result name="error">/error.jsp</result>
		</global-results>
		
</package>

 

拦截器实现

package com.hanpeng.b2c.phone.priv;

import org.apache.log4j.Logger;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;



public class ExceptionInterceptor extends AbstractInterceptor {

	 
	private static final long serialVersionUID = 1008901298342362080L;
	private static final Logger log = Logger
			.getLogger(ExceptionInterceptor.class);

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		String actionName = invocation.getInvocationContext().getName();
		try {
			String result = invocation.invoke();
			return result;
		} catch (Exception e) {
			log.error(actionName, e);
			return "error";
		}
	}
}
 
分享到:
评论

相关推荐

    Struts2学习案例(拦截器)

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

    struts2中异常处理(demo)

    Struts2可以通过集成日志框架,如Log4j或Java内置的日志API,来记录异常堆栈跟踪和其他相关信息。 通过以上方法,Struts2能够提供灵活且强大的异常处理能力,使得开发者能够更好地控制和管理应用程序的异常行为,...

    struts2 拦截器实例

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

    Struts2 拦截器

    拦截器是在Action调用之前和之后执行的一段代码,可以用来做日志记录、权限检查、事务管理、性能监控等。这些操作无需在每个Action中重复编写,而是通过配置就可以全局应用。Struts2的拦截器基于AOP(面向切面编程)...

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

    在Struts2中,拦截器(Interceptor)扮演着至关重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如日志记录、权限验证等。在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合...

    Struts2异常处理机制

    在Struts2框架中,异常处理主要依赖于两个关键组件:`ExceptionMappingInterceptor`(异常映射拦截器)和`ActionError`。当一个Action执行过程中抛出未捕获的异常时,`ExceptionMappingInterceptor`会介入并根据配置...

    struts2中的拦截器

    在struts.xml配置文件中,可以使用`&lt;interceptors&gt;`标签定义全局拦截器,也可以在具体的Action配置中使用`&lt;interceptor-ref&gt;`引用拦截器。例如: ```xml &lt;!-- ... --&gt; ``` **使用场景** 1. **...

    Struts2的异常处理

    通过以上介绍,我们了解到Struts2的异常处理机制包括全局异常映射、动作级别的异常处理以及自定义拦截器。理解并灵活运用这些机制,能帮助开发者更好地控制程序的异常流程,提高应用的健壮性。结合`Struts2_13`这个...

    Struts2自定义拦截器

    拦截器是Struts2的核心特性之一,它们在Action调用之前和之后执行,扮演着类似于过滤器的角色,允许我们实现诸如日志记录、权限检查、事务管理等通用功能。在深入探讨自定义拦截器之前,我们先理解一下Struts2拦截器...

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

    默认情况下,Struts2提供了一些预定义的拦截器,如`params`(处理请求参数)、`exception`(处理异常)、`i18n`(国际化支持)等。这些拦截器的执行顺序对整个应用的性能和功能有直接影响。 当一个请求到达Struts2...

    Struts2 异常处理的四种获取属性方法

    以下是Struts2异常处理的四种主要方法,以及相关的知识点详解: 1. **全局异常映射(Global Exception Mapping)** 全局异常映射是Struts2配置文件(通常为struts.xml或struts-default.xml)中的一种机制,用于...

    struts2拦截器举例

    在Struts2中,拦截器(Interceptor)是一个至关重要的概念,它增强了MVC框架的功能,使得开发者可以对请求处理进行预处理和后处理,实现如日志记录、权限验证、事务管理等通用操作。下面我们将深入探讨Struts2拦截器...

    struts2自定义拦截器

    拦截器通过插桩(Interception)机制增强了Action调用,可以实现如日志记录、权限验证、数据校验等功能。 自定义拦截器是Struts2框架的一大亮点,它允许开发者根据需求定制自己的拦截逻辑。以下将详细讲解如何创建...

    struts2自定义拦截器配置心得

    Struts2自定义拦截器的配置是Struts2框架中一个非常重要的功能,它允许开发者在Action执行前后插入自定义的逻辑,以实现如权限验证、日志记录、性能监控等多种需求。以下是对标题和描述中涉及的知识点的详细说明: ...

    浪曦struts2拦截器源码

    拦截器在Struts2中扮演着重要的角色,它们是AOP(面向切面编程)的一种实现,用于在动作执行前后插入额外的功能,如日志记录、权限检查等。 首先,我们需要了解什么是拦截器。在Struts2中,拦截器是一个实现了`...

    Struts2视频教程

    - **拦截器**:拦截器是Struts2的一个重要特性,可以在请求到达Action之前或之后执行特定的操作,如验证用户登录状态、日志记录等。 #### 四、Struts2进阶技巧 - **ModelDriven模式**:该模式允许Action实例共享同...

    留言板留言板struts2留言板struts2

    拦截器链是Struts2的一大特色,允许开发者自定义拦截器,实现如权限验证、日志记录、事务管理等功能。 4. **结果类型(Result)**:Action执行完成后,会返回一个结果类型,告诉框架如何处理后续的响应。Struts2内置...

    Struts2拦截器及其用法详细说明

    拦截器可以通过`struts.xml`或`struts.properties`文件进行配置,可以定义全局拦截器栈,也可以针对特定Action配置拦截器。例如,配置`DebuggingInterceptor`: ```xml ...

    Struts2拦截器的使用

    全局拦截器栈的配置 在Struts2中,可以在全局范围内定义拦截器栈,这样就可以在所有Action中重用相同的拦截器配置。例如,在`struts.xml`配置文件中,可以看到如下配置: ```xml &lt;package name="struts-shop" ...

Global site tag (gtag.js) - Google Analytics