当web.xml中写filter的时候,启动tomcat就会报Error filterStart错误,如果web.xml不写这些的话就不会报错,这是为什么啊 严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:168)
at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
at org.apache.struts2.dispatcher.ng.InitOperations.initStaticContentLoader(InitOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:49)
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:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
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:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
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:566)
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)
2011-6-12 9:42:40 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2011-6-12 9:42:40 org.apache.catalina.core.StandardContext start
严重: Context [/Test] startup failed due to previous errorsweb.xml中一点问题都没有,可是就一直报这个错误,都弄了一天不行啊,哪位大侠能帮帮忙啊

解决方案 »

  1.   

    那还需要什么信息啊?web.xml是我复制别人的,肯定没问题
      

  2.   

    楼主是不是在页面上用Struts2标签了,web.xml中fileter中路径是不是配置的"/*"。
      

  3.   

    java.lang.NullPointerException去找空指针的问题我觉得web.xml的filter配置应该没有问题,像我下面这样配置都能正常运行的
        <!-- 过滤器 -->
        <filter>
            <filter-name>filterDemo</filter-name>
            <filter-class>FilterDemo</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>UTF-8</param-value>
            </init-param>
            <init-param>
                <param-name>forceEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>filterDemo</filter-name>
            <url-pattern>*.html</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>filterDemo</filter-name>
            <url-pattern>*.jsp</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>filterDemo</filter-name>
            <url-pattern>*</url-pattern>
        </filter-mapping>
      

  4.   

    java.lang.NullPointerException
        at com.opensymphony.xwork2.util.Fi
    stuts2 配置出错了
      

  5.   

    struts.xml代码
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
        "http://struts.apache.org/dtds/struts-2.1.dtd"><struts>
     
     <constant name="struts.devMode" value="true" />
     <package name="default" namespace="/" extends="struts-default">
            
            <action name="hello">
                <result name="success">
                    /Hello.jsp
                </result>
            </action>
        </package></struts>我用的是struts2-core-2.1.6.jar,不知道那里出问题了
      

  6.   

    NullPointerException空指针异常
    FileManager 类的 209 行中有对象为空是Tomcat的安装路径包含空格的问题
      

  7.   

    web.xml
     配置这个的时候
    <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>
     
    你把web.xml的配置贴出来看下
      

  8.   

    struts2 这行去掉
      <constant name="struts.devMode" value="true" />
      

  9.   

    谢谢各位了,问题已解决,确实是struts.xml中多了一句话:<constant name="struts.devMode" value="true" />
    但我不明白,为什么多了这句就会爆filter的错误啊