2013-3-20 10:43:42 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory struts
2013-3-20 10:43:42 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts-default.xml]
2013-3-20 10:43:42 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:226)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
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.check(HostConfig.java:1385)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
at java.lang.Thread.run(Unknown Source)
2013-3-20 10:43:42 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2013-3-20 10:43:42 org.apache.catalina.core.StandardContext start
严重: Context [/struts] startup failed due to previous errors我导入的jar包有: commons-fileupload-1.2.1.jar   commons-io-1.3.2.jar   commons-logging-1.0.4.jar   freeer-2.3.15.jar   ognl-2.7.3.jar   struts2-core-2.1.8.1.jar   xwork-core-2.1.6.jar   javassist-3.11.0.GA.jar
strutsfilter

解决方案 »

  1.   

    刚一刷新发现你说没用你把commons-lang包打开看能不能找到java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils这个类
      

  2.   

    报的错找不到类org/apache/commons/lang3/StringUtils,这个类就是commons-lang这个包里的。
    你说你试过没用,可能是你还少其他的包,将这个包导入后,你肯定不是报现在贴出来的这个错。
      

  3.   

    struts自带StringUtils 是不是没有导入啊。也就是说struts的包导入不全。
      

  4.   


    导入你说的包后我贴出来的错误如下:
    2013-3-20 11:09:23 org.apache.catalina.startup.HostConfig checkResources
    信息: Reloading context [/struts]
    2013-3-20 11:09:23 org.apache.catalina.core.StandardContext stop
    信息: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/struts] has not been started
    2013-3-20 11:09:24 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Parsing configuration file [struts-default.xml]
    2013-3-20 11:09:24 org.apache.catalina.core.StandardContext filterStart
    严重: Exception starting filter struts2
    java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:226)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
    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.startup.HostConfig.checkResources(HostConfig.java:1284)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
    at java.lang.Thread.run(Unknown Source)
    2013-3-20 11:09:24 org.apache.catalina.core.StandardContext start
    严重: Error filterStart
    2013-3-20 11:09:24 org.apache.catalina.core.StandardContext start
    严重: Context [/struts] startup failed due to previous errors
      

  5.   

    下面是我的实现步骤:实现:
       第一步:创建一个Web工程
       在MyEclipse,通过菜单File->New->Web Project,在Project Name输入工程名称Strut2Travel,点解确定完成创建一个工程。
       简注:MyEclipse属于一个IDE继承开发环境,可以快速的创建Web项目。读者可以手工创建,只需满足项目的文件结构即可。其中WEB-INF文件夹必不可少。   第二步:导入Struts2的核心支持包
       commons-fileupload-1.2.1.jar   commons-io-1.3.2.jar   commons-logging-1.0.4.jar   freeer-2.3.15.jar   ognl-2.7.3.jar   struts2-core-2.1.8.1.jar   xwork-core-2.1.6.jar   javassist-3.11.0.GA.jar
       简注:Struts2有大量的jar包,支持大量的功能,不同类型的应用可能需要不同的包支持。以上的5个包为Struts2的核心包,使用Struts2必须使用。   第三步:配置struts2转发过滤器
       编辑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>
       简注:“/*”表示涉及本工程的所有浏览器端的请求都经过struts2过滤器处理。    第四步:创建输入页面login.jsp、结果页面welcome.jsp和error.jsp
    login.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head><title>登录界面</title></head>
      <body>
        <form action="LoginAction.action">
           用户名:<input name="username"><br>
           密 码:<input type="password" name="userpass"><br>
          <input type="submit" value="提 交">
          <input type="reset"  value="取 消">
        </form>
      </body>
    </html>
    welcome.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>欢迎</title>
      </head>
      <body>
        <font color="red" size="10">登录成功!</font>
      </body>
    </html>
    error.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title></title>
      </head>
      <body>
        <font color="red" size="10">用户或密码错误!</font>
      </body>
    </html>
        简注:本实例是最简单的应用,以上为纯JSP文件,Struts2提供大量使用的标签,本书后面的实例会使用到。    第五步:创建Action文件LoginAction和struts2.xml文件
    LoginAction.java
    package com;import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport{
     private String username;
     private String userpass;
     
     public String execute(){
      if("daniel".equals(username)&&"abcde".equals(userpass))
       return SUCCESS;
      else
       return ERROR;
     }
     
     public String getUsername() {
      return username;
     }
     public void setUsername(String username) {
      this.username = username;
     }
     public String getUserpass() {
      return userpass;
     }
     public void setUserpass(String userpass) {
      this.userpass = userpass;
     }
    }
        简注:默认配置情况下执行execute()方法,实际应用中经常更改配置。本书后面将深入讲解。注意本类中的username和userpass必须和网页文件的name属性名一致。
    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="struts2demo" extends="struts-default">
       <action name="loginAction" class="com.LoginAction">
         <result name="success">/welcome.jsp</result>
         <result name="error">/error.jsp</result>
       </action>
     </package>  
    </struts>
      

  6.   

    是包没导入的问题,这个可以org/apache/commons/lang3/StringUtils提示,右键项目Build Path-----Configure Build Path...看看jar包有没有导错的,重复的,检查一下呗
      

  7.   

    错误代码有变化~~~~~球大神帮解答:信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.reflection.ReflectionContextFactory)
    2013-3-20 11:28:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.PatternMatcher)
    2013-3-20 11:28:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Choosing bean (struts) for (org.apache.struts2.dispatcher.StaticContentLoader)
    2013-3-20 11:28:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Choosing bean (struts) for (com.opensymphony.xwork2.UnknownHandlerManager)
    2013-3-20 11:28:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
    信息: Choosing bean (struts) for (org.apache.struts2.views.util.UrlHelper)
    2013-3-20 11:28:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
    严重: Dispatcher initialization failed
    Unable to load configuration. - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
    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.startup.HostConfig.checkResources(HostConfig.java:1284)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
    at java.lang.Thread.run(Unknown Source)
    Caused by: Action class [com.LoginAction] not found - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:482)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:426)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:543)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    ... 17 more
    2013-3-20 11:28:06 org.apache.catalina.core.StandardContext filterStart
    严重: Exception starting filter struts2
    Unable to load configuration. - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:485)
    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.startup.HostConfig.checkResources(HostConfig.java:1284)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
    at java.lang.Thread.run(Unknown Source)
    Caused by: Unable to load configuration. - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
    ... 15 more
    Caused by: Action class [com.LoginAction] not found - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:482)
    at 
      

  8.   

    Caused by: Action class [com.LoginAction] not found - action - file:/D:/apache-tomcat-6.0.36/webapps/struts/WEB-INF/classes/struts.xml:6:55这么明显的提示  你都不看的啊找找你的com.LoginAction有没有  看看是不是包名写错了
      

  9.   

    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
     <package name="struts2demo" extends="struts-default">
       <action name="LoginAction" class="com.LoginAction">
         <result name="success">/welcome.jsp</result>
         <result name="error">/error.jsp</result>
       </action>
     </package>
    </struts>
    struts  代码如上