`

最近用struts2,遇到几个出错时未能打log的问题,算是小细节吧,记录一下!写代码必须继续坚持良好习惯!

阅读更多
1、global-exception-mappings:配置之后,如果项目中用到自定义的MethodFilterInterceptor子类,会导致MethodFilterInterceptor等拦截器在拦截过程无法catch到异常信息,无法打log,很难排错。最近的项目是用了guice的,一开始还担心是不是guice导致的问题,最后引入strust2的源码debug过程才发现是配置了global-exception-mappings导致的,完全没想到是这个原因。
<global-exception-mappings>
			<exception-mapping result="error" exception="java.lang.Exception" />
		</global-exception-mappings>



2、excludeMethods:使用了该配置的action,需要根据实际情况在action内显式使用try catch来捕获未预想到的异常,因为一旦excludeMethods,那就是不会经过自定义的全局拦截的Interceptor了,错误日志无法记录。
<action name="login" class="xxx.ABCAction" method="login">
			<interceptor-ref name="optionalInteceptor">
				<param name="excludeMethods">*</param>
			</interceptor-ref>
			<interceptor-ref name="defaultStack" />
			<result name="success" type="redirectAction">
				<param name="actionName">xx</param>
				<param name="namespace">/</param>
			</result>
			<result name="input">/index.jsp</result>
		</action>
分享到:
评论

相关推荐

    Struts2+log4j

    Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了丰富的功能来简化Java Web应用的开发,而Log4j则是一个广泛使用的日志记录库,为开发者提供了灵活的日志记录机制。 Struts2框架是Apache软件基金会...

    tomcat下struts2的log4j日志配置.doc

    在Tomcat服务器上配置Struts2框架的日志系统时,通常会利用Log4j来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许开发者根据需要调整日志级别、输出格式以及日志目的地。 首先,要使用Log4j,...

    struts2开发遇到的问题

    在使用 Struts2 进行开发时,开发者可能会遇到各种问题,这里我们将详细探讨一些典型的问题及其解决方法。 1. **警告:Settings: Could not parse struts.locale setting, substituting default VMlocale** 这个...

    Struts2升级到2.5.30,问题解决及过程记录

    Struts2是一个流行的Java web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、可扩展的web应用程序。随着技术的发展,框架也需要不断更新以修复安全漏洞、提高性能并引入新特性。在本文中...

    struts2源代码分析

    Struts2的源代码组织得非常清晰,主要包括以下几个部分: 1. **`org.apache.struts2.components`**:这个包包含了Struts2的各种视图组件。相比于Struts1.x,Struts2在视图层面上提供了更多的组件支持,例如`...

    Struts2项目代码

    Struts2是一个强大的Java web开发框架,用于构建和维护可扩展、具有良好结构的Web应用程序。这个"Struts2项目代码"提供了一个学习Struts2框架的实用实例,可以帮助开发者更好地理解Struts2的核心概念和实践应用。 ...

    struts2,(slf4j-log4j12-1.5.8—日志) 建议360压缩解压

    在"slf4j-log4j12-1.5.8"这个包中,包含了SLF4J的API接口和Log4j的具体实现,使得开发者能够方便地将日志记录集成到Struts2应用中。 Struts2的基础jar包通常包含以下组件: 1. `struts2-core`: 这是Struts2的核心...

    纯struts2开发带log4j的用户登录demo

    在本示例中,"纯struts2开发带log4j的用户登录demo"是教你如何利用Struts2框架来实现一个简单的用户登录功能,并结合log4j进行日志记录。Log4j是一个广泛使用的日志记录工具,它提供了灵活的日志配置,有助于调试、...

    struts2部分代码

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它在Web应用开发中被广泛使用。Struts2的核心是Action类,它负责处理用户请求并进行业务逻辑处理。这个“struts2部分代码”可能包含了...

    Struts2典型小实例源代码

    Struts2是一个强大的Java web开发框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了构建可维护性、可扩展性良好的应用程序的工具。本实例"Struts2典型小实例源代码"旨在帮助理解Struts2的核心概念...

    struts2源代码 struts2源代码

    struts2源代码 正宗的 源码struts2源代码 正宗的 源码struts2源代码 正宗的 源码struts2源代码 正宗的 源码

    struts2 项目源代码

    这个"北大青鸟 struts2 项目源代码"是学习和理解Struts2框架的一个实用资源,尤其适合初学者和开发者深入研究。 在Struts2框架中,核心组件包括Action、Result、Interceptor(拦截器)、配置文件等。Action是业务...

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH...

    struts2学习测试代码,struts2学习测试代码2

    struts2学习测试代码,struts2学习测试代码2struts2学习测试代码,struts2学习测试代码

    struts2分页代码的示例

    下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...

    Struts2远程代码执行漏洞分析(S2-013)1

    Struts2 是 Apache 官方的产品,最近出了一个远程代码执行漏洞,编号“S2-013”,目前是 0DAY,官方没有修补方案出现。这个漏洞出现在 includeParams 属性中,允许远程命令执行。 漏洞的成因是 Struts2 标签库中的 ...

    struts2开源代码

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建高效、可扩展且易于维护的Web应用的工具和组件。这个开源代码库对于Java程序员,尤其是那些正在深入...

    struts2学习测试代码

    struts2学习测struts2学习测试代码试代码

    Struts2小程序源代码

    这个"Struts2小程序源代码"提供了丰富的学习资源,帮助开发者深入理解Struts2的核心概念和技术。 首先,我们来看看标题提到的"Struts2小程序源代码"。这通常意味着包含了一系列小型的、独立的示例程序,这些程序...

Global site tag (gtag.js) - Google Analytics