在Struts2构建在遇到如下错误:
引用
严重: Error reading tld listeners java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.log4j.Category.isEnabledFor(Category.java:737)
at org.apache.commons.logging.impl.Log4JLogger.isTraceEnabled(Log4JLogger.java:333)
at org.apache.catalina.startup.TldConfig.tldScanResourcePaths(TldConfig.java:573)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:281)
at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4251)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4107)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-8-9 10:58:36 org.apache.catalina.startup.ContextConfig processDefaultWebConfig
严重: Parse error in default web.xml
java.lang.NullPointerException
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2745)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1278)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1357)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2740)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.ContextConfig.processDefaultWebConfig(ContextConfig.java:697)
at org.apache.catalina.startup.ContextConfig.defaultWebConfig(ContextConfig.java:634)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1054)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4111)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-8-9 10:58:36 org.apache.catalina.startup.ContextConfig processDefaultWebConfig
在网上查找了一下,说是包冲突,可我搭建的Struts2.0例程没有问题,所以断定是什么东西没有配置,比对启动日志发现是log4j没有配置。
解决方法是:
在src文件夹下新建log4j.properties文件内容如下:
引用
#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
# Set root logger level to WARN and append to stdout
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL
# OpenSymphony Stuff
log4j.logger.com.opensymphony=INFO
log4j.logger.org.apache.struts2=DEBUG
# Spring Stuff
log4j.logger.org.springframework=INFO
分享到:
相关推荐
1. **初始化项目**:设置好开发环境,包括Java、Maven或Gradle构建工具、IDE(如Eclipse或IntelliJ IDEA)以及JUnit和Struts2.0的相关依赖。 2. **设计架构**:根据业务需求,规划应用程序的模型、视图和控制器。...
Struts2.0是Java平台上一个著名的开源MVC框架,用于构建企业级的Web应用程序。这个框架基于Model-View-Controller(模型-视图-控制器)设计模式,它旨在简化开发过程并提供一种结构化的应用开发方式。Struts2.0在...
学习Struts2.0源码,可以帮助开发者深入理解Web应用的生命周期,掌握MVC设计模式的实践,以及如何利用拦截器、表达式语言和模板引擎来构建高效、可维护的Java Web应用。通过对这些库的分析,开发者可以更好地解决...
学习这些文档,你可以更好地掌握如何利用Struts2构建高效、稳定的Web应用,同时也能了解到如何解决在开发过程中遇到的各种问题。 总之,Struts2.0是一个功能强大的Java Web开发框架,它的出现极大地简化了MVC模式的...
通过阅读struts2.0_apidocs,开发者可以详细了解每个类、接口、方法的功能,从而更好地利用Struts2框架构建高效、稳定的Web应用。同时,掌握这些知识点也有助于解决开发过程中遇到的问题,提高代码质量和性能。
Struts2.0是Apache软件基金会的一个开源框架,主要用于构建基于Java EE的Web应用程序。它在Web开发领域中被广泛使用,特别是在企业级应用中,因为它提供了强大的MVC(Model-View-Controller)架构模式支持,能够有效...
Struts2.0是一款强大的Java Web开发框架,它在MVC(Model-View-Controller)设计模式的基础上,为开发者提供了构建高效、可扩展且易于维护的Web应用的工具和组件。这个"struts2.0 chm"压缩包包含了一份详细的手册,...
5. **异常处理**:学习如何在Struts中优雅地处理程序异常,提供友好的错误提示。 6. **国际化与本地化**:理解如何实现多语言支持,为不同地区的用户提供服务。 7. **整合其他技术**:了解如何与Spring、Hibernate...
Struts2.0是Java Web开发中非常流行的一个开源MVC框架,它的核心是XWork框架。XWork作为Struts2的基础,提供了许多强大的功能,包括动作调度、类型转换、异常处理、国际化支持等。这次我们关注的是XWork的2.0.2版本...
在BIRT与Struts2整合过程中,最常遇到的问题之一就是过滤器冲突。这是因为Struts2和BIRT都有自己的过滤器(例如BirtFilter),它们可能会影响到请求的处理流程,导致页面渲染或数据处理出现问题。具体表现为,BIRT的...
在开发过程中,我们经常会遇到与`struts.xml`配置文件相关的错误,这是由于XML解析问题或者DTD(文档类型定义)引用的问题引起的。`struts.xml`是Struts2框架的核心配置文件,它定义了动作、结果、拦截器等关键组件...
Struts2.0中文教程.chm提供了针对初学者的详细指南,涵盖Struts2的基础概念、配置、动作、结果类型、拦截器、标签库等内容。通过这个教程,你可以了解如何搭建Struts2环境,编写第一个“Hello World”应用,以及如何...
10. **异常处理**:讲解如何配置全局异常处理,确保系统在遇到错误时能优雅地返回错误信息。 11. **插件和集成**:介绍Struts 2与其他开源库(如Spring、Hibernate等)的集成方式,以及如何使用Struts 2的插件来...
ongl作为Struts2.0的模板语言,两者之间的集成使得视图层的构建更加简单高效。ongl表达式可以直接访问ActionContext中的数据,实现动态视图的生成。 **3. 源代码结构分析** 在ongl的源代码中,我们可以看到以下几...
Struts2.0是Apache软件基金会的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它在Struts1的基础上进行了大量的改进和增强,提供了一种更强大、更灵活的方式来组织和控制MVC(Model-View-Controller)...
### Struts2.0 学习笔记 #### 引言 Struts2 是一款非常流行的 Java Web 开发框架,它基于 Struts1 进行了重大的改进与优化,不仅继承了 Struts1 的优秀特性,还在此基础上进行了扩展,支持更加丰富的功能,如拦截...
1. **APPFuse 2.0**:APPFuse是一个基于Maven的开源项目,它提供了多种Java Web应用框架的起点,如Struts、Spring MVC、JSF等。2.0版本可能包含了一些对早期版本的改进和更新,比如支持更多的框架、优化的模板或更好...
在本文中,我们将深入探讨Struts2的基本搭建过程以及可能遇到的一些常见报错问题。 ### Struts2框架搭建步骤 1. **环境准备**:首先确保你的开发环境中已经安装了JDK和Apache Tomcat服务器。同时,为了进行开发,...