gteric 发表于 2015-11-14 13:04:56

新手:Struts2.0.9部署后启动Tomcat6报错解决

我是新手,初学struts,记录下错误。
Tomcat版本:Tomcat-6.0.18
MyEclipse版本:MyEclipse 8.5
Struts版本:struts-2.0.9
部署到Tomcat6服务器后,启动是报错如下:
2012-8-17 15:12:36 org.apache.catalina.core.AprLifecycleListener init

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found
on the java.library.path: D:\Java\jdk1.6.0_10\bin;D:\Tomcat 6.0\bin

2012-8-17 15:12:36 org.apache.coyote.http11.Http11Protocol init

信息: Initializing Coyote HTTP/1.1 on http-8080

2012-8-17 15:12:36 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 469 ms

2012-8-17 15:12:36 org.apache.catalina.core.StandardService start

信息: Starting service Catalina

2012-8-17 15:12:36 org.apache.catalina.core.StandardEngine start

信息: Starting Servlet Engine: Apache Tomcat/6.0.18

2012-8-17 15:12:37 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register

信息: Parsing configuration file

2012-8-17 15:12:38 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register

信息: Parsing configuration file

2012-8-17 15:12:38 org.apache.catalina.core.StandardContext filterStart

严重: Exception starting filter struts2

Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory -
bean - jar:file:/D:/Tomcat%206.0/webapps/Struts2UserLogin/WEB-INF/lib/struts2-spring-plugin-2.0.9.jar!/struts-plugin.xml:8:132

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)

at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)

at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)

at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)

at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)

at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)

at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)

....

Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:621)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)

at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)

... more

Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextAware

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

... more

2012-8-17 15:12:38 org.apache.catalina.core.StandardContext start

严重: Error filterStart

2012-8-17 15:12:38 org.apache.catalina.core.StandardContext start

严重: Context startup failed due to previous errors

2012-8-17 15:12:38 org.apache.coyote.http11.Http11Protocol start

信息: Starting Coyote HTTP/1.1 on http-8080

2012-8-17 15:12:38 org.apache.jk.common.ChannelSocket init

信息: JK: ajp13 listening on /0.0.0.0:8009

2012-8-17 15:12:38 org.apache.jk.server.JkMain start

信息: Jk running ID=0 time=0/29config=null

2012-8-17 15:12:38 org.apache.catalina.startup.Catalina start

信息: Server startup in 1663 ms


上网搜索了一下资料,原来是因为我导入jar包是,少导入了一个,应该导入如下几个包:

添加commons-logging-1.0.4.jar后就不报这些错了。但是又报出了下面的错误:
严重: Document is invalid: no grammar found. at (null:3:8)

org.xml.sax.SAXParseException: Document is invalid: no grammar found.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)

省略....
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2012-8-17 15:37:11 org.apache.catalina.core.StandardContext filterStart

严重: Exception starting filter struts2

file:/D:/Tomcat%206.0/webapps/Struts2UserLogin/WEB-INF/classes/struts.xml:3:8

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:835)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)

省略...
Caused by: Document is invalid: no grammar found. - file:/D:/Tomcat%206.0/webapps/Struts2UserLogin/WEB-INF/classes/struts.xml:3:8

at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:123)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)

... 34 more

Caused by: org.xml.sax.SAXParseException: Document is invalid: no grammar found.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
省略...
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)

... 35 more

2012-8-17 15:37:11 org.apache.catalina.core.StandardContext start

严重: Error filterStart

2012-8-17 15:37:11 org.apache.catalina.core.StandardContext start

严重: Context startup failed due to previous errors

2012-8-17 15:37:11 org.apache.coyote.http11.Http11Protocol start

信息: Starting Coyote HTTP/1.1 on http-8080

2012-8-17 15:37:11 org.apache.jk.common.ChannelSocket init

信息: JK: ajp13 listening on /0.0.0.0:8009

2012-8-17 15:37:11 org.apache.jk.server.JkMain start

信息: Jk running ID=0 time=0/30config=null

2012-8-17 15:37:11 org.apache.catalina.startup.Catalina start

信息: Server startup in 1758 ms
struts.xml配置文件内容如下:

<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
<struts>
<!-- 加入默认的struts2配置文件 -->
<include file=&quot;struts-default.xml&quot; />
<!-- 继承默认的struts2配置文件,概念与Java继承类似 -->
<package name=&quot;default&quot; extends=&quot;struts-default&quot; >
<!-- 此处hello名称是hello.action的url名字 -->
<action name=&quot;hello&quot; class=&quot;controller.HelloAction&quot; >
<!-- success指向配置 -->
<result name=&quot;success&quot;>success.html</result>
</action>
</package>
</struts>
  因为在struts.xml文件中缺少了DOCTYPT定义,在文件中加入:



<!DOCTYPE struts PUBLIC
&quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot;
&quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;>
  即可,正确的配置文件如下:

<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
<!DOCTYPE struts PUBLIC
&quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot;
&quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;>
<struts>
<!-- 加入默认的struts2配置文件 -->
<include file=&quot;struts-default.xml&quot; />
<!-- 继承默认的struts2配置文件,概念与Java继承类似 -->
<package name=&quot;default&quot; extends=&quot;struts-default&quot; >
<!-- 此处hello名称是hello.action的url名字 -->
<action name=&quot;hello&quot; class=&quot;controller.HelloAction&quot; >
<!-- success指向配置 -->
<result name=&quot;success&quot;>success.html</result>
</action>
</package>
</struts>

  

版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 新手:Struts2.0.9部署后启动Tomcat6报错解决