错误是:
2010-3-19 9:30:11 org.apache.catalina.startup.TaglibUriRule body
信息: TLD skipped. URI: http://www.springframework.org/tags is already defined
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
2010-3-19 9:30:14 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4382)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5040)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5035)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
... 13 more
Caused by: Unable to load file:/D:/JSP配置/apache-tomcat-7.0.6/webapps/ssh/WEB-INF/classes/struts.xml - [unknown location]
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:909)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:154)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:121)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:179)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
... 15 more
Caused by: Premature end of file. - [unknown location]
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:904)
... 19 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)
... 20 more
2010-3-19 9:30:14 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
2010-3-19 9:30:14 org.apache.catalina.core.StandardContext startInternal
严重: Context [/ssh] startup failed due to previous errors
2010-3-19 9:30:14 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/ssh] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2010-3-19 9:30:14 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["http-apr-8080"]
2010-3-19 9:30:14 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
2010-3-19 9:30:14 org.apache.catalina.startup.Catalina start
信息: Server startup in 19792 ms
我查了网上说没有struts2-spring-plugin-2.2.1.jar 但是我有

解决方案 »

  1.   

    Caused by: Unable to load file:/D:/JSP配置/apache-tomcat-7.0.6/webapps/ssh/WEB-INF/classes/struts.xml - [unknown location]
    发一下你的web.xml配置看看
      

  2.   

    你可以用MyEclipse自带的功能 导入jar包导入顺序spring -->hibernate --> struts2
    hibernate的包要在spring之后导入struts2-spring-plugin-2.2.1.jar 是必须的
      

  3.   

    WEB.XML
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_9" version="2.4"
     xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee       http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    <display-name>Struts Blank</display-name>    <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
       
         <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list></web-app>
      

  4.   

    你好像是少陪了spring的两种配置
    <context-param>
      <param-name>contextConfigLocation</param-name> 
      <param-value>classpath:applicationContext-*.xml</param-value> 
    </context-param>
    还有监听器<listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener>要是要用汉语的的话最好加上过滤器
    <filter>
      <filter-name>SetCharacterEncoding</filter-name> 
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
     <init-param>
      <param-name>encoding</param-name> 
      <param-value>utf-8</param-value> 
     </init-param>
      </filter>
    <filter-mapping>
      <filter-name>SetCharacterEncoding</filter-name> 
      <url-pattern>/*</url-pattern> 
    </filter-mapping>
      

  5.   

    当我去掉
     <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
       
    就没有什么问题 开始我也加了监听器 但是也报错
      

  6.   

    这是我的web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <!-- Encording配置 -->
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 结束 -->
    <!-- Open session in view开始 --> <filter>
    <filter-name>openSessionInView</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    <init-param>
      <param-name>flushMode</param-name>     
    <param-value>AUTO</param-value>    
    </init-param>
    </filter> <filter-mapping>
    <filter-name>openSessionInView</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Open Session in view结束 -->
    <!-- struts配置 -->
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter> <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- Struts结束 --> <!-- spring 配置 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener> <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:beans.xml</param-value>
    </context-param> <!-- spring 结束 -->
    </web-app>
      

  7.   

    怎么还在web.xml里面开始session啊,不是在hibernate的配置里就可以通过sessionFactory来开启吗
      

  8.   

    LZ,你这是整合struts的时候出错了,那边配置都应该没什么问题,我问题出在你的web.xml这里,#6楼的老兄的也可以借鉴一下啊!或者你吧我那两句加进去试试!
      

  9.   

    Exception starting filter struts2
    Unable to load configuration. - [unknown location]
    严重: Error filterStart
    2010-3-19 9:30:14 org.apache.catalina.core.StandardContext startInternal
    严重: Context [/ssh] startup failed due to previous errors
    报的这两句错是关键!刚刚没仔细看下面,原来你没用hibernate的那种,是用的jdbc,照着这两句去找错,应该能找出来吧!
      

  10.   

    会不会是少加了Lib包呀
    或者有冲突