严重:异常启动筛选器struts2 java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher

严重:异常启动筛选器struts2 java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher,java,struts2,Java,Struts2,我正在尝试在Struts2中创建一个小的登录应用程序。My web.xml: StrutsPrj 支柱2 org.apache.struts2.dispatcher.FilterDispatcher 支柱2 /* Login.jsp Struts.xml: 我已将这些库添加到我的项目中: commons-logging-1.0.4.jar struts2-core-2.1.8.1.jar ognl-2.6.11.jar xwork-2.1.0.jar freemarker-2.3.9.

我正在尝试在Struts2中创建一个小的登录应用程序。My web.xml:


StrutsPrj
支柱2
org.apache.struts2.dispatcher.FilterDispatcher
支柱2
/*
Login.jsp
Struts.xml:

我已将这些库添加到我的项目中:

  • commons-logging-1.0.4.jar
  • struts2-core-2.1.8.1.jar
  • ognl-2.6.11.jar
  • xwork-2.1.0.jar
  • freemarker-2.3.9.jar
当我尝试在Tomcat 6上运行此操作时,我遇到以下错误:

2011年3月10日下午1:17:59 org.apache.catalina.core.AprLifecycleListener init
信息:在java.library.path:C:\java\jre6\bin;上找不到允许在生产环境中实现最佳性能的基于APR的Apache Tomcat本机库;。;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Java/jre6/bin/client;C:/Java/jre6/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Java\jdk1.5\bin\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Liquid Technologies\Liquid XML Studio 2009\XMLDataBinder 7\Redist7\cpp\win32\bin;C:\ProgramFiles\QuickTime\QTSystem\;C:\Program Files\MySQL\MySQL服务器5.0\bin
2011年3月10日下午1:17:59 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:newPrj”未找到匹配的属性。
2011年3月10日下午1:17:59 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context/Loader}将属性“UseSystemClassLoadEraParent”设置为“false”未找到匹配的属性。
2011年3月10日下午1:17:59 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:StrutsPrj”未找到匹配的属性。
2011年3月10日下午1:17:59 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context/Loader}将属性“UseSystemClassLoadEraParent”设置为“false”未找到匹配的属性。
2011年3月10日下午1:18:00 org.apache.coyote.http11.Http11Protocol init
信息:在HTTP-8080上初始化Coyote HTTP/1.1
2011年3月10日下午1:18:00 org.apache.catalina.startup.catalina加载
信息:2037毫秒内已处理初始化
2011年3月10日下午1:18:00 org.apache.catalina.core.StandardService启动
信息:开始服务Catalina
2011年3月10日下午1:18:00 org.apache.catalina.core.StandardEngine启动
信息:启动Servlet引擎:ApacheTomcat/6.0.32
2011年3月10日下午1:18:01 org.apache.catalina.core.StandardContext filterStart
严重:启动过滤器struts2时出现异常
java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
位于org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)
位于org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
位于org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
位于org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4725)
位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
位于org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
位于org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
位于org.apache.catalina.core.StandardService.start(StandardService.java:525)
位于org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
位于org.apache.catalina.startup.catalina.start(catalina.java:595)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011年3月10日下午1:18:01 org.apache.catalina.core.StandardContext开始
严重:错误筛选器开始
2011年3月10日下午1:18:01 org.apache.catalina.core.StandardContext开始
严重:由于以前的错误,上下文[/StrutsPrj]启动失败
2011年3月10日下午1:18:01 org.apache.coyote.http11.http11协议启动
信息:在HTTP-8080上启动Coyote HTTP/1.1
2011年3月10日下午1:18:01 org.apache.jk.common.ChannelSocket init
信息:JK:ajp13正在收听/0.0.0.0:8009
2011年3月10日下午1:18:01 org.apache.jk.server.JkMain开始
信息:Jk运行ID=0时间=0/97配置=null
2011年3月10日下午1:18:01 org.apache.catalina.startup.catalina start
信息:服务器在1756毫秒内启动

确保您的类路径上有以下内容:

  • commons-fileupload-X.X.X.jar
  • commons-io-X.X.X.jar
  • commons-logging-X.X.X.jar
  • commons-logging-api.X.X.jar
  • freemarker-X.X.X.jar
  • ognl-X.X.X.jar
  • struts2-core-X.X.X.jar
  • xwork-core-X.X.X.jar
  • javassist-3.7.ga.jar(Struts 2.2.1及更高版本的新版本)
  • commons-lang3-x.x
编辑:您是否按照以下步骤设置项目

尝试:


行动
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
行动
/*

作为Struts2框架的新手,我最近遇到了相同(或非常相似)的e
<struts>
    <package name="default" extends="struts-default" namespace="/">
        <action name="login" method="execute"
            class="struts2.LoginAction">
            <result name="success">Welcome.jsp</result>
            <result name="error">Login.jsp</result>
        </action>
    </package>
</struts>    
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome Screen - Struts 2</title>
</head>
<body>
<h2>Congrates, <s:property value="username" />...!</h2>
</body>
</html>
@Action(value="/jsp/edit-file",
   results={@Result(name="success",location="/jsp/edit-success.jsp"),
            @Result(name="failure",location="/jsp/edit-failure.jsp")})
public String execute() { ... }
@Action(value="/jsp/edit-file.action",
   results={@Result(name="success",location="/jsp/edit-success.jsp"),
            @Result(name="failure",location="/jsp/edit-failure.jsp")})
public String execute() { ... }
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" 
version="2.5">
     <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.3.1.2</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
Caused by: java.lang.ClassNotFoundException: **org.apache.commons.lang3.StringUtils**
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
... 55 more
SEVERE: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
org.apache.struts2.dispatcher.FilterDispatcher 
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.