自己的第一个例子,啥都没有,就配了个struts2的filter,启动不起来。
下面是报错信息,限于上传限制,分多次发出2010-9-7 15:12:06 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Struts2_HelloWord' did not find a matching property.
2010-9-7 15:12:06 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: C:\jdk1.6.0_01\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/jdk1.6.0_01/bin/../jre/bin/client;C:/jdk1.6.0_01/bin/../jre/bin;C:/jdk1.6.0_01/bin/../jre/lib/i386;.;C:\jdk1.6.0_01\bin;C:\jdk1.5.0\bin;d:\Program Files\iSimular\Bin\CaseRunAdaptor\Bin;C:\jdk1.6.0_01\jre\bin\client;E:\Program Files\axis2-1.1\bin;E:\Program Files\ant\bin;d:\oracle\ora90\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\Program Files\cvsnt;D:\Program Files\lotus\notes\;E:\Program Files\Subversion\bin;E:\Program Files\TortoiseSVN\bin;;d:\Program Files\IDM Computer Solutions\UltraEdit-32
2010-9-7 15:12:06 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8000
2010-9-7 15:12:06 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 360 ms
2010-9-7 15:12:06 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-9-7 15:12:06 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
2010-9-7 15:12:06 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-default.xml]
2010-9-7 15:12:07 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-plugin.xml]
2010-9-7 15:12:07 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts.xml]
2010-9-7 15:12:07 org.apache.struts2.config.Settings getLocale
警告: Settings: Could not parse struts.locale setting, substituting default VM locale
2010-9-7 15:12:07 org.apache.struts2.spring.StrutsSpringObjectFactory <init>
信息: Initializing Struts-Spring integration...
2010-9-7 15:12:07 org.apache.struts2.spring.StrutsSpringObjectFactory <init>
严重: ********** FATAL ERROR STARTING UP STRUTS-SPRING INTEGRATION **********
Looks like the Spring listener was not configured for your web app! 
Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
You might need to add the following to web.xml: 
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
2010-9-7 15:12:07 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:189)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:479)
……
        ……
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

解决方案 »

  1.   

    2010-9-7 15:12:07 org.apache.catalina.core.StandardContext start
    严重: Error filterStart
    2010-9-7 15:12:07 org.apache.catalina.core.StandardContext start
    严重: Context [/Struts2_HelloWord] startup failed due to previous errors
    2010-9-7 15:12:07 org.apache.coyote.http11.Http11Protocol start
    信息: Starting Coyote HTTP/1.1 on http-8000
    2010-9-7 15:12:07 org.apache.jk.common.ChannelSocket init
    信息: JK: ajp13 listening on /0.0.0.0:8009
    2010-9-7 15:12:07 org.apache.jk.server.JkMain start
    信息: Jk running ID=0 time=0/15  config=null
    2010-9-7 15:12:07 org.apache.catalina.startup.Catalina start
    信息: Server startup in 1028 ms配套版本:
    sturts2:   2.0.14;lib目录下的所有包均导入了工程classpath
    eclipse:   Eclipse IDE for Java EE Developers 3.6;eclipse官网下载,没用myeclipse
    tomcat:    6.0
    JDK:       1.6.0_01
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>Struts2_HelloWord</display-name>
    <filter>
    <description>struts2 enter</description>
    <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.html</welcome-file>
    </welcome-file-list>
    </web-app>
    struts.xml
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <include file="struts-default.xml"/>
    </struts>
      

  2.   

    删除 lib包里的
    struts2-spring-plugin-2.0.6.jar
      

  3.   

    是不是引用了空的jar包
      

  4.   

    filter没有启动成功,我不明白为啥启动struts2的filter却包了spring初始化错误,难道struts2的filter是用spring初始化的,教程中没有提到。
      

  5.   

    把Spring的包全都去掉
    从官方网站上把Struts2download下来,重新配置,不要根据原来带有spring的项目配置
      

  6.   

    Looks like the Spring listener was not configured for your web app!  
    Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
    You might need to add the following to web.xml:  
      <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>spring listener 没有配置
      

  7.   

    可以限制index.html了,但是控制台打印了N多个下面的信息,都把前面的信息冲掉了
    警告: Unable to load config class com.opensymphony.xwork2.interceptor.ParametersInterceptor at Class: java.lang.Class
    File: Class.java
    Method: newInstance0
    Line: 340 - java/lang/Class.java:340:-1 probably due to a missing jar, which might be fine if you never plan to use the params interceptor
    2010-9-7 15:44:44 com.opensymphony.xwork2.config.providers.InterceptorBuilder constructInterceptorReference
    严重: Actual exception
    Unable to instantiate an instance of Interceptor class [com.opensymphony.xwork2.interceptor.ParametersInterceptor]. - Class: java.lang.Class
    File: Class.java
    Method: newInstance0
    Line: 340 - java/lang/Class.java:340:-1
    at org.apache.struts2.plexus.PlexusObjectFactory.buildInterceptor(PlexusObjectFactory.java:173)
    at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:57)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:743)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:756)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:777)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:410)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
    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:205)
    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.start(ContainerBase.java:1045)
    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(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:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    Caused by: java.lang.InstantiationException: com.opensymphony.xwork2.interceptor.Interceptor
    at java.lang.Class.newInstance0(Class.java:340)
    at java.lang.Class.newInstance(Class.java:308)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)
    at org.apache.struts2.plexus.PlexusObjectFactory.lookup(PlexusObjectFactory.java:298)
    at org.apache.struts2.plexus.PlexusObjectFactory.buildBean(PlexusObjectFactory.java:216)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)
    at org.apache.struts2.plexus.PlexusObjectFactory.buildInterceptor(PlexusObjectFactory.java:146)
    ... 31 more
      

  8.   

    把lib下的
    struts2-spring-plugin-2.0.6.jar去掉。那个是给spring容器用的
      

  9.   

    You might need to add the following to web.xml:  
      <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      

  10.   

    Line: 340 - java/lang/Class.java:340:-1
    at org.apache.struts2.plexus.PlexusObjectFactory.buildInterceptor(PlexusObjectFactory.java:173)
    org.apache.struts2.plexus.PlexusObjectFactory.buildInterceptor
    lib中有plexus插件  删之。
      

  11.   

    struts2必须用到的包commons-logging-1.0.4.jar
    freeer-2.3.8.jar
    ognl-2.6.11.jar
    struts2-core-2.0.6.jar
    xwork-2.0.1.jar【数据库驱动包】
    其它包按照项目用到的东西逐个加。
    你lib里无用的包太多了。
      

  12.   

    尤其是jar名字类似“XXX-plugin-版本号.jar”的,如果不用,一定要删掉。
      

  13.   

    删除所有跟spring相关的包后测了一把helloworld,提交后控制台报错:2010-9-7 16:02:18 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet default threw exception
    java.lang.InstantiationException: com.opensymphony.xwork2.Action
    at java.lang.Class.newInstance0(Class.java:340)
    at java.lang.Class.newInstance(Class.java:308)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)
    at org.apache.struts2.plexus.PlexusObjectFactory.lookup(PlexusObjectFactory.java:298)
    at org.apache.struts2.plexus.PlexusObjectFactory.buildBean(PlexusObjectFactory.java:216)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)
    at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113)
    at org.apache.struts2.plexus.PlexusObjectFactory.buildAction(PlexusObjectFactory.java:127)
    at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275)
    at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365)
    at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
    at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83)
    at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    at com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:74)
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
      

  14.   


    重新导包了,现在没问题了。第一次碰到因为导包太多造成问题的。sturts2的不会是通过查找类是否存在决定是否导入插件的吧。
      

  15.   

    额,struts只要5个包就可以了,把不用的都删了
      

  16.   

    ***plugin里面有配置文件,struts2会自动加载。
      

  17.   

    搞定了?恭喜LZ迈出第一步。
    理论上的东西我不清楚,感觉和你14楼说的意思差不多。
    自己baidu一下吧。