- 浏览: 746654 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
刚开始学习Struts2的时候,用的是maven方式,但是却不如官方文中所指的出log信息
就是文末提到的:
com.opensymphony.xwork2.DefaultActionProxy.debug:57 - Creating an DefaultActionProxy for
namespace / and action name index
...
org.apache.struts2.dispatcher.ServletDispatcherResult.debug:57 - Forwarding to location /index.jsp
很是疑惑,按理配置啥的官方都是全部提供的,配置位置也不可能搞错,因为如果删除了log4j.xml,启动tomcat后会有提示缺少log4j配置文件,那到底是哪里出了问题呢?
后来发现是少了commons-logging-1.0.4.jar,为什么maven自动编译会漏了这个jar包呢?pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>manning</groupId> <artifactId>Basic_Struts2_Mvn</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Basic Struts 2</name> <build> <finalName>Basic_Struts2_Mvn</finalName> </build> <dependencies> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.8.0.GA</version> </dependency> </dependencies> </project>
貌似是没提到commons-logging系列,还有一个问题log4j的输出怎么会需要common-logging呢,莫非这输出不如官方所说不是log4j的?
2010-12-30 11:00:02,700 DEBUG com.opensymphony.xwork2.config.ConfigurationManager.debug:68 - Checking ConfigurationProviders for reload.
2010-12-30 11:00:02,805 DEBUG com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.debug:68 - Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@3278f], property=struts]
2010-12-30 11:00:02,822 DEBUG com.opensymphony.xwork2.config.ConfigurationManager.debug:68 - Checking ConfigurationProviders for reload.
2010-12-30 11:00:02,879 DEBUG com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.debug:68 - Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@3278f], property=struts]
2010-12-30 11:00:02,889 DEBUG com.opensymphony.xwork2.config.ConfigurationManager.debug:68 - Checking ConfigurationProviders for reload.
2010-12-30 11:00:02,928 DEBUG com.opensymphony.xwork2.DefaultActionProxy.debug:68 - Creating an DefaultActionProxy for namespace / and action name index
2010-12-30 11:00:03,012 DEBUG com.opensymphony.xwork2.interceptor.I18nInterceptor.debug:68 - intercept '//index' {
2010-12-30 11:00:03,012 DEBUG com.opensymphony.xwork2.interceptor.I18nInterceptor.debug:68 - applied invocation context locale=zh_CN
2010-12-30 11:00:03,013 DEBUG com.opensymphony.xwork2.interceptor.I18nInterceptor.debug:68 - before Locale=zh_CN
2010-12-30 11:00:03,211 DEBUG com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.debug:68 - Entering nullPropertyValue [target=[com.opensymphony.xwork2.ActionSupport@15aef45, com.opensymphony.xwork2.DefaultTextProvider@3278f], property=struts]
2010-12-30 11:00:03,268 DEBUG org.apache.struts2.interceptor.FileUploadInterceptor.debug:68 - Bypassing //index
2010-12-30 11:00:03,269 DEBUG com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.debug:68 - Setting static parameters {}
2010-12-30 11:00:03,283 DEBUG com.opensymphony.xwork2.interceptor.ParametersInterceptor.debug:68 - Setting params NONE
2010-12-30 11:00:03,284 DEBUG com.opensymphony.xwork2.interceptor.ParametersInterceptor.debug:68 - Setting params
2010-12-30 11:00:03,314 DEBUG org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.debug:68 - Validating //index with method execute.
2010-12-30 11:00:03,527 DEBUG com.opensymphony.xwork2.validator.ValidationInterceptor.debug:68 - Invoking validate() on action com.opensymphony.xwork2.ActionSupport@15aef45
2010-12-30 11:00:03,536 DEBUG com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil.debug:68 - cannot find method [validateExecute] in action [com.opensymphony.xwork2.ActionSupport@15aef45]
2010-12-30 11:00:03,537 DEBUG com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil.debug:68 - cannot find method [validateDoExecute] in action [com.opensymphony.xwork2.ActionSupport@15aef45]
2010-12-30 11:00:03,538 DEBUG com.opensymphony.xwork2.DefaultActionInvocation.debug:68 - Executing action method = null
2010-12-30 11:00:03,547 DEBUG org.apache.struts2.dispatcher.ServletDispatcherResult.debug:68 - Forwarding to location /index.jsp
2010-12-30 11:00:03,574 DEBUG com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.debug:68 - Entering nullPropertyValue [target=[com.opensymphony.xwork2.ActionSupport@15aef45, com.opensymphony.xwork2.DefaultTextProvider@3278f], property=struts]
2010-12-30 11:00:03,595 DEBUG com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.debug:68 - Entering nullPropertyValue [target=[com.opensymphony.xwork2.ActionSupport@15aef45, com.opensymphony.xwork2.DefaultTextProvider@3278f], property=org]
2010-12-30 11:00:03,799 DEBUG com.opensymphony.xwork2.interceptor.I18nInterceptor.debug:68 - after Locale=zh_CN
2010-12-30 11:00:03,799 DEBUG com.opensymphony.xwork2.interceptor.I18nInterceptor.debug:68 - intercept }
如上控制台日志信息com.opensymphony和org.apache.struts2都是在log4j.xml中配置的:
<!-- specify the logging level for loggers from other libraries --> <logger name="com.opensymphony"> <level value="DEBUG" /> </logger> <logger name="org.apache.struts2"> <level value="DEBUG" /> </logger>
可见,日志输出应与log4j是有直接关系的,尝试删除过log4j-1.2.14.jar,会导致日志不出,由此得出结论两个日志关联jar包缺一不可,但两者为什么要必须同时呢?用到了什么呢?
发表评论
-
NullPointerException in ternary operator
2013-01-19 00:01 1120java代码: Integer i = null; ... -
why concrete class must implement abstract method while abstract class need not
2011-05-11 13:27 1512yes, just as the title...why co ... -
Enum singleton - Elvis Stealer
2011-04-26 14:41 1634import java.io.ByteArrayInputSt ... -
why can inner class be instantiated in this way?
2011-04-06 10:24 1017public class Outer { pub ... -
into native source code
2011-03-23 23:09 963once there was a problem occurr ... -
about Thread.join method
2011-03-23 08:09 1271import java.util.Timer; import ... -
why is static inner class singleton thread safe?
2011-03-15 09:03 1454http://en.wikipedia.org/wiki/In ... -
why string concatenation yields no interned one
2011-03-14 16:48 1112public class Test { public st ... -
why can bit mask suppress sign extention
2011-03-10 09:16 1179yes, bit mask can suppress sign ... -
About gc two objects which are inter referenced to each other
2011-03-08 11:00 1048my workmate told me such a sena ... -
circumvents exception checking
2011-03-03 11:02 964import java.io.IOException; ... -
关于维基中singleton pattern的一段
2011-02-24 10:00 1091Another notable difference is t ... -
why List hasn't clone method but the ArrayList has
2011-02-16 15:27 1167List list = new ArrayList(); ... -
deep copy
2011-02-16 15:20 1037static public Object deepCopy(O ... -
Java is Pass-by-Value
2011-02-14 13:28 1085This often heard saying is not ... -
不是说字符串不可变吗
2011-02-14 11:28 894from csdn: http://topic.csdn.ne ... -
没有实现抽象方法的具体类居然编译通过了
2011-02-04 22:29 972来自csdn: http://topic.csdn.net/ ... -
关于iterator的fail-fast
2011-01-20 11:15 995是使用集合的iterator后,再改变就可能抛出这个异常 ... -
生成几个String的问题
2011-01-11 16:26 1011public class Test extends java. ... -
无符号右移>>>
2011-01-11 15:46 2342public class Test { public st ...
相关推荐
在Struts2的Action中,开发者可以调用Log4j的API记录操作信息,如用户登录、数据插入等。这些日志信息不仅可以帮助开发者追踪和诊断问题,还可以作为审计日志,用于监控系统的安全性。例如,当用户尝试插入数据到...
在Tomcat服务器上配置Struts2框架的日志系统时,通常会利用Log4j来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许开发者根据需要调整日志级别、输出格式以及日志目的地。 首先,要使用Log4j,...
struts2.5.10.1 使用的是log4j2 所以需要导入log4j-api-2.7log4j-core-2.7 这两个jar包 并且为了从log4j 平稳的过度到log4j2导入log4j-1.2-api-2.7 jar(避免修改代码)
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH...
在本示例中,"纯struts2开发带log4j的用户登录demo"是教你如何利用Struts2框架来实现一个简单的用户登录功能,并结合log4j进行日志记录。Log4j是一个广泛使用的日志记录工具,它提供了灵活的日志配置,有助于调试、...
Struts2是基于MVC(Model-View-Controller)设计模式的开源Web应用程序框架,它极大地简化了Java Servlets和JSP(JavaServer Pages)的开发工作,而Log4j则是Apache组织提供的一个用于记录日志的开源工具,它具有...
在"slf4j-log4j12-1.5.8"这个包中,包含了SLF4J的API接口和Log4j的具体实现,使得开发者能够方便地将日志记录集成到Struts2应用中。 Struts2的基础jar包通常包含以下组件: 1. `struts2-core`: 这是Struts2的核心...
Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...
NULL 博文链接:https://adrain-work-163-com.iteye.com/blog/1545091
2. 框架配置错误:如果开发者在配置Struts2时未遵循最佳实践,可能会导致敏感信息泄露、权限提升等安全问题。例如,不正确的Action配置可能导致未授权访问。 3. 类加载器问题:Struts2使用了自定义的类加载机制,这...
在本文中,我们将探讨将Struts2从旧版本升级到2.5.30的过程中可能遇到的问题及其解决方案。 升级Struts2到2.5.30的主要目标是利用新版本提供的增强功能和安全补丁。Struts2的每个新版本通常会包含对前一版本的兼容...
基于Struts2的个人信息管理系统是使用这一框架来设计和实现的一个典型示例,它涵盖了用户管理、行程管理和文件操作等多个核心功能。 在用户管理模块中,Struts2提供了丰富的动作类(Action)和结果(Result)配置,...
6. **其他依赖的jar包**:Struts2运行还需要一些其他的库,如freemarker或velocity用于模板引擎,javassist用于动态类生成,log4j或slf4j用于日志记录等。 引入Struts2的jar包有多种方式: - **Eclipse/IDEA等集成...
"struts2-scan"工具就是为了解决这样的问题而设计的。它能够自动化地扫描Struts2应用,识别可能存在的安全弱点,帮助开发者或安全团队及时发现并修复这些问题。该工具可能会通过模拟多种攻击向量,如OGNL注入,来...
3. **拦截器(Interceptor)**:Struts2的核心组件之一,可以理解为对请求和响应进行预处理和后处理的中间层。拦截器链是Struts2的一大特色,允许开发者自定义拦截器,实现如权限验证、日志记录、事务管理等功能。 4....
2. **查阅官方文档**:Struts2和Log4j的官方文档是升级过程中最重要的参考资料。它们会列出详细的升级指南、变更记录以及可能遇到的问题和解决方案。 3. **更新Struts2依赖**:将项目中的Struts2库替换为最新的2.5...
在"学生信息查询系统"这个项目中,Struts2框架被用来构建一个能够处理学生信息的后端逻辑。 首先,让我们深入了解Struts2的核心概念: 1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是...
1. **xwork-core-2.1.6.jar**:这是Struts2的核心组件之一,XWork框架是Struts2的基础。它提供了Action、结果类型、拦截器、类型转换和对象图(Object Graph Notation Language,OGNL)等核心功能。XWork负责处理...
- `commons-logging.jar`、`log4j.jar`:日志记录库,Struts2使用它们进行系统级别的日志输出。 - `javassist.jar`:提供运行时字节码操作,用于拦截器和其他动态功能。 在实际开发中,开发者可以根据项目需求...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...