刚学struts2碰见不少问题,现在小弟有个问题急需各位的帮助。看看下面的错误信息,给小弟一点提示,急需啊。谢谢
严重: Document root element "struts", must match DOCTYPE root "unspecified". at (null:6:11)
org.xml.sax.SAXParseException: Document root element "struts", must match DOCTYPE root "unspecified".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)
at 
严重: Exception starting filter struts2
file:/C:/Program%20Files/tomcat/webapps/zhuce/WEB-INF/classes/struts.xml:6:11
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)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
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)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Document root element "struts", must match DOCTYPE root "unspecified". - file:/C:/Program%20Files/tomcat/webapps/zhuce/WEB-INF/classes/struts.xml:6:11
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 root element "struts", must match DOCTYPE root "unspecified".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)
... 35 more
2009-3-19 13:01:49 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-3-19 13:01:49 org.apache.catalina.core.StandardContext start
严重: Context [/zhuce] startup failed due to previous errors

解决方案 »

  1.   

    struts.xml开始是不是?<?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>
      

  2.   

    站点起不来了么?首先看看tomcat有没有问题 如果tomcat中的其他站点能启动,着说明是这个你这个struts站点本身出的问题。如果是该站点本身的问题,那么尝试将struts.xml文件删除,试试站点能启动么。如果能就是struts.xml文件出来问题这是一个标准的struts.xml文件
    <?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>
    <constant name="struts.custom.i18n.resources" value="com.hh.resource.Myaction"></constant>
    <package name="struts2" extends="struts-default" >
       <result name="input">/index.jsp</result>
       <result name="success">/result.jsp</result>
        </action>
        </package>
    </struts>

    一般情况下,<constant name="struts.custom.i18n.resources" value="com.hh.resource.Myaction"></constant>这句如果你没有创建对应的类Myaction
    站点就启动不了,还有检查一下jar包
      

  3.   

    struts这个tag有问题,仔细检查一下。
      

  4.   

    这是我的web-xml配置文件。请再看看有啥问题,小弟还是解决不了。
    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE unspecified PUBLIC
     "-//Apache Software Founddation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd">
      
      <struts>
      <package name="struts2" extends="struts-default">
      <action name="register" class="yonghuzhuce.RegisterAction">
      
      <!-- 配置异常映射,当RegisterAction抛出Exception异常时,向用户显示error.jsp页面 -->
      <exception-mapping result="error" exception="java.lang.Exception"/>
      
     <result name="input">/WEB-INF/Pages/register.jsp</result>
     <result name="success">/WEB-INF/Pages/success.jsp</result>
      <result name="error">/WEB-INF/Pages/error.jsp</result>
      </action>
      </package>
      </struts>
      

  5.   

    不好意思上面的写错了,是struts-xml的配置文件。其中的<package name="default" extends="struts-default">。请看看有什么问题没有
      

  6.   

    <result name="input">/Pages/register.jsp </result> 
    <result name="success">/Pages/success.jsp </result> 
      <result name="error">/Pages/error.jsp </result> 
      

  7.   

    还想说一下就是,我刚才把我的项目给导出了,现在我重启TOMCAT还是启动不起来,我没有做这个项目之前tomcat都是可以启动起来的,但是现在去不可以了。郁闷啊
    严重: Error initializing endpoint
    java.net.BindException: Address already in use: JVM_Bind<null>:8080
    严重: Catalina.start
    LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind<null>:8080
    严重: Document root element "struts", must match DOCTYPE root "unspecified". at (null:6:11)
    org.xml.sax.SAXParseException: Document root element "struts", must match DOCTYPE root "unspecified".
    大家看看是不是端口被占领了,是不是Java虚拟机把端口给占领了。急切需要帮助啊,谢谢各位。
      

  8.   

    忘了还有就是我用fport查看了端口,8080端口没有被谁占领啊。