用spring+webwork做来个简单小项目,想熟悉熟悉框架原理,但是filter不启动,没搞懂,请大家帮忙看看。
2009-4-22 10:13:11 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-4-22 10:13:11 org.apache.catalina.core.StandardContext start
严重: Context [/shopping-cart] startup failed due to previous errors
webwork filter的配置:    <filter>
        <filter-name>webwork</filter-name>
        <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
    </filter>    <filter-mapping>
        <filter-name>webwork</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>日志信息:
2009-4-22 10:13:10 org.apache.catalina.core.ApplicationContext log
信息: Loading Spring root WebApplicationContext
2009-4-22 10:13:11 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter webwork
java.lang.NoClassDefFoundError: ognl/OgnlException
at com.opensymphony.xwork.ObjectFactory.buildInterceptor(ObjectFactory.java:134)
at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:499)
at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:215)
at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:567)
at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:570)
at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:124)
at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:56)
at com.opensymphony.webwork.dispatcher.FilterDispatcher.init(FilterDispatcher.java:120)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
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:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-4-22 10:13:11 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext主要就是这个“ognl/OgnlException”是什么,搜到的信息也看不很明白。

解决方案 »

  1.   

    另外就是NoClassDefFoundError这个错误,api里这么说:
    当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。 当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。 
    ----
    感觉不知道要怎么理解
    我项目lib下面的包是没问题的,类肯定有,也没有冲突。为什么会找不到类定义呢?
      

  2.   

    看看WEB-INF/lib目录下是否有ognl.jar,这是它依赖的jar包