出现:
HTTP Status 404 - --------------------------------------------------------------------------------type Status reportmessage description The requested resource () is not available.
但是:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <filter>
   <filter-name>encoding</filter-name>
   <filter-class>com.labci.javamail.filter.CharacterEncodingFilter</filter-class>
    <init-param>
   <param-name>encode</param-name>
   <param-value>gbk</param-value>
   </init-param>
  </filter>
  
  <filter-mapping>
   <filter-name>encoding</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  
  
  <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>*.do</url-pattern>
  </filter-mapping>
   
    <!--   -->
  <session-config>
   <session-timeout>1440</session-timeout>
  </session-config>
 
</web-app>
把struts的过滤器去掉就可以访问了

解决方案 »

  1.   

    那看你tomcat启动的时候报什么错加上struts的时候
      

  2.   

    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Parsing configuration file [struts-default.xml]
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Unable to locate configuration files of the name struts-plugin.xml, skipping
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Parsing configuration file [struts-plugin.xml]
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Parsing configuration file [struts.xml]
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.ObjectFactory) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.conversion.impl.XWorkConverter) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.TextProvider) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.ActionProxyFactory) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.conversion.ObjectTypeDeterminer) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.dispatcher.mapper.ActionMapper) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.dispatcher.multipart.MultiPartRequest) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.views.freeer.FreeerManager) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.components.UrlRenderer) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.validator.ActionValidatorManager) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.util.ValueStackFactory) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.util.reflection.ReflectionProvider) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.util.reflection.ReflectionContextFactory) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.util.PatternMatcher) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.dispatcher.StaticContentLoader) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (com.opensymphony.xwork2.UnknownHandlerManager) for (#2)
    2012-5-11 14:28:00 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    信息: Choosing bean (org.apache.struts2.views.util.UrlHelper) for (#2)
    2012-5-11 14:28:01 org.apache.coyote.http11.Http11AprProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2012-5-11 14:28:01 org.apache.coyote.ajp.AjpAprProtocol start
    信息: Starting Coyote AJP/1.3 on ajp-8009
    2012-5-11 14:28:01 org.apache.catalina.startup.Catalina start
    信息: Server startup in 11051 ms
      

  3.   

    然后访问action的时候看看有什么错?
      

  4.   

    启动tomcat后显示的信息太多,上边的是最后的信息。
    通过IE执行后不产生信息
      

  5.   

    你就注意看看tomcat启动报错没?
    如果没问题那你就把你的url地址栏贴出来和strutsx.xml贴出来
      

  6.   

    你把<url-pattern>*.do</url-pattern>
    改成<url-pattern>/*</url-pattern>
      

  7.   

    7楼的朋友,你的这个方法试过了,也不行。
    如不介意留一下E——mail,我把源文件发过去,谢谢
      

  8.   

    URL 注意大小写
    index.JSP ==> index.jsp
      

  9.   

    各位 ,请留一下Email,帮忙测试一下
      

  10.   

    建议增加log4j日志输出,  可能项目都没加载上哦(很可能struts配置导致)  
    1.加载过滤器就不能用,很有可能org.apache.struts2.dispatcher.FilterDispatcher加载的时候就报错了
    2.404错误并不是由struts抛出的
      

  11.   

    嗯,我也怀疑,但是找不到错,
    加log4j 有什么作用???
      

  12.   

    ... log4j 日志系统,   简单来说在此增加log4j可以输出更详细的启动日志
      

  13.   

    在struts.xml配置文件中的<package >标签中加上namespace="/"这个属性就好了!
      

  14.   

    404是应该是配置错误,检查一下XML
      

  15.   

    大哥你的index.jsp 不会在web-inf 下面吧
      

  16.   

    我的也是这样的问题,请高手们帮忙看看
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 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"
        version="2.4"> <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>/example/HelloWorld.jsp</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>
    <package name="example" namespace="/" extends="struts-default">
    <action name="hello" class="example.HelloWorld">
    <result>/example/HelloWorld.jsp</result>
    </action>
    </package>
    </struts>项目名字:login 下面有一个example的包,jsp文件放在对应的webroot的example里面
      

  17.   

    启动tomcat后显示:
    信息: Deploying web application directory web_javamail_struts2
    2012-5-15 11:13:37 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
    警告: Could not create JarEntryRevision for [jar:file:/H:/program_study_soft/tomcat/apache-tomcat-6.0.35/webapps/web_javamail_struts2/WEB-INF/lib/struts2-core-2.3.3.jar]!
    java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
    at com.opensymphony.xwork2.util.FileManager$JarEntryRevision.build(FileManager.java:309)
    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:935)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:155)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:122)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:205)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)
    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:4072)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    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.FileUtils
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 38 more
      

  18.   

    还有:
    严重: Exception starting filter struts2
    java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:201)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)
    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:4072)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    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.lang3.StringUtils
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 34 more
    2012-5-15 11:13:38 org.apache.catalina.core.StandardContext start
    严重: Error filterStart
    2012-5-15 11:13:38 org.apache.catalina.core.StandardContext start
    严重: Context [/web_javamail_struts2] startup failed due to previous errors
    2012-5-15 11:13:38 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory web_java_mail_05
    2012-5-15 11:13:38 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory web_md5
    2012-5-15 11:13:39 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory web_sql_connect
    2012-5-15 11:13:39 org.apache.coyote.http11.Http11AprProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2012-5-15 11:13:40 org.apache.coyote.ajp.AjpAprProtocol start
    信息: Starting Coyote AJP/1.3 on ajp-8009
    2012-5-15 11:13:40 org.apache.catalina.startup.Catalina start
    信息: Server startup in 5735 ms
      

  19.   

    各位,弄好了,导入jar包不全。
    版本不一样,导入的包不一样。谢谢各位了!!!!!!