为什么我在web.xml配置了filter之后,myeclipse的tomcat就启动不了。但是删了之后就没有拦截功能了,求教大侠应该怎么弄?

解决方案 »

  1.   

    myeclipse的tomcat就启动不了?
    是报错 还是什么?如果报错 就说明配置错了具体如何配置 filter 可以网上搜索下
      

  2.   

    可能是你的过滤器配置得有问题,你看下 <url-classs> 路径 问题 , 为什么会在myeclipse的tomcat就启动不了 是因为程序最先找到就是你的 wed.xml 文件所以 他要报错!
      

  3.   

     你看看wed.xml 你这个标签  上面的 name  “aa” 要和 下面的 name “aa” 相一致
     <filter>
         <filter-name>aa</filter-name>
         <filter-class>类的全路径名称</filter-class>
      </filter>
      <filter-mapping>
         <filter-name>aa</filter-name>
         <url-pattern>过滤什么文件.html</url-pattern><!-- 也可以是 .jsp  -->
      </filter-mapping>
      

  4.   

    出现这种情况肯定是配置文件出问题了,可能在某一个细节方面。建议楼主写filter配置的时候不要直接拷贝代码,而是根据提示来手写。另外tomcat启动不了,后台报的是什么错误,也许能很快发现问题。
      

  5.   

    我的建议跟楼上相反,写配置文件最好COPY 改,我就由此陋了个字母踌躇了好久
      

  6.   

    tomcat不能启动?贴出错误信息来啊
      

  7.   

    这是我的部分错误信息:
    2010-11-15 22:12:37 org.apache.catalina.core.AprLifecycleListener init
    信息: Loaded APR based Apache Tomcat Native library 1.1.20.
    2010-11-15 22:12:37 org.apache.catalina.core.AprLifecycleListener init
    信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
    2010-11-15 22:12:37 org.apache.coyote.http11.Http11AprProtocol init
    信息: Initializing Coyote HTTP/1.1 on http-8080
    2010-11-15 22:12:37 org.apache.coyote.ajp.AjpAprProtocol init
    信息: Initializing Coyote AJP/1.3 on ajp-8009
    2010-11-15 22:12:37 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 1090 ms
    2010-11-15 22:12:37 org.apache.catalina.core.StandardService start
    信息: Starting service Catalina
    2010-11-15 22:12:37 org.apache.catalina.core.StandardEngine start
    信息: Starting Servlet Engine: Apache Tomcat/6.0.29
    2010-11-15 22:12:37 org.apache.catalina.startup.HostConfig deployDescriptor
    信息: Deploying configuration descriptor host-manager.xml
    2010-11-15 22:12:38 org.apache.catalina.startup.HostConfig deployDescriptor
    信息: Deploying configuration descriptor manager.xml
    2010-11-15 22:12:38 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory docs
    2010-11-15 22:12:38 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory examples
    2010-11-15 22:12:39 org.apache.catalina.core.ApplicationContext log
    信息: ContextListener: contextInitialized()
    2010-11-15 22:12:39 org.apache.catalina.core.ApplicationContext log
    信息: SessionListener: contextInitialized()
    2010-11-15 22:12:39 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory ROOT
    2010-11-15 22:12:39 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory Struts2Demo
    2010-11-15 22:12:39 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory strutsdemo
    2010-11-15 22:12:40 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
    警告: Could not create JarEntryRevision for [jar:file:/C:/apache-tomcat-6.0.29/webapps/strutsdemo/WEB-INF/lib/struts2-core-2.2.1.jar]!
    java.lang.NoClassDefFoundError: org/apache/commons/io/output/NullOutputStream
    at com.opensymphony.xwork2.util.FileManager$JarEntryRevision.build(FileManager.java:307)
    at com.opensymphony.xwork2.util.FileManager.loadFile(FileManager.java:145)
    at com.opensymphony.xwork2.util.FileManager.loadFile(FileManager.java:105)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:898)
    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)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
    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:546)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    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:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.output.NullOutputStream
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 38 more
    2010-11-15 22:12:41 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Parsing configuration file [struts-default.xml]
    2010-11-15 22:12:41 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
    严重: Dispatcher initialization failed
    Unable to load configuration. - bean - jar:file:/C:/apache-tomcat-6.0.29/webapps/strutsdemo/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178
    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)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
    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:546)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    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:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/C:/apache-tomcat-6.0.29/webapps/strutsdemo/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:232)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
    at 
      

  8.   

    我的Filter配置是
    <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>
      

  9.   

    建议你贴出web.xml配置文件,如果有不能公开的,关键代码可以用*星号替代以下
      

  10.   

    没事,这只是我自己练习做的。
      <?xml version="1.0" encoding="GBK" ?> 
    - <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">
    - <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>
    - <login-config>
      <auth-method>BASIC</auth-method> 
      </login-config>
      </web-app>
      

  11.   

    java.lang.NoClassDefFoundError: org/apache/commons/io/output/NullOutputStream
    看到没,找找是不是有NullOutputStream这个类先,知道在哪个位置找不?写的很清楚了。
      

  12.   

    应该是这个问题,filter位置最好也按Servlet加载的顺序写。实在不行,就单独测试一个web试下。
      

  13.   

    你的tomcat的根目录里要加javassist-3.7.ga.jar   这个jar文件在struts2 app里面的blank里面有  
      

  14.   

    我刚才给你的那个结论适合解决Dispatcher initialization failed
    这个问题   而你另外一个问题是包的冲突问题  struts包里都会有  但是不影响正常使用  至少我还没有发现  刚才和你说的javassist-3.7.ga.jar 导入后 重启下tomcat 
      

  15.   

    直接把 struts-blank里的jar包导到自己的lib里边 需要啥了再去struts的lib里找
    我就不信他还犯错 
    前两天就因为 缺少jar包 郁闷的要命