新手: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="1.0" encoding="UTF-8"?>
<struts>
<!-- 加入默认的struts2配置文件 -->
<include file="struts-default.xml" />
<!-- 继承默认的struts2配置文件,概念与Java继承类似 -->
<package name="default" extends="struts-default" >
<!-- 此处hello名称是hello.action的url名字 -->
<action name="hello" class="controller.HelloAction" >
<!-- success指向配置 -->
<result name="success">success.html</result>
</action>
</package>
</struts>
因为在struts.xml文件中缺少了DOCTYPT定义,在文件中加入:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
即可,正确的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 加入默认的struts2配置文件 -->
<include file="struts-default.xml" />
<!-- 继承默认的struts2配置文件,概念与Java继承类似 -->
<package name="default" extends="struts-default" >
<!-- 此处hello名称是hello.action的url名字 -->
<action name="hello" class="controller.HelloAction" >
<!-- success指向配置 -->
<result name="success">success.html</result>
</action>
</package>
</struts>
版权声明:本文为博主原创文章,未经博主允许不得转载。
页:
[1]