ERROR就像:
无法找到Struts调度程序。这通常是由于使用没有关联过滤器的Struts标记引起的。 Struts标记仅在请求通过其servlet过滤器时可用,该过滤器初始化此标记所需的Struts调度程序。
我的struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<display-name>Struts2 Login</display-name>
<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>index.jsp</welcome-file>
</welcome-file-list>
我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.excludePattern" value="/ServletToExcludeFromStruts*" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">
<action name="hello" class="com.struts.action.HelloWorldAction"
method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
并且需要jar文件... [如果我错了,请纠正我]
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
commons-collections-3.0.jar
commons-fileupload-1.2.1.jar
commons-lang-2.4.jar
commons-io-1.3.2.jar
javassist-3.0.jar
答案 0 :(得分:2)
您的web.xml和struts.xml没问题。
JAR版本与the required dependencies for Struts 2.0略有不同:
xwork
应为2.0。 7 ,commons-io
应为1. 0 ,依此类推。
顺便说一句,因为看起来你今天开始使用一个新的Struts2项目,我强烈建议你从至少开始使用最新的Struts2库,原因如下:
2.3.15.3
之前的Struts2版本受serious security bug影响; 2.1.3
以来,你必须使用新的过滤器,即StrutsPrepareAndExecuteFilter中所写的FilterDispatcher documentation 然后使用最新的库(目前2.3.16.1
)开始一个新项目,最好是使用Maven,或者手工注意the required dependencies and their versions。
答案 1 :(得分:0)
我认为您已经交换了两个文件(struts.xml和web.xml)的内容,这就是您收到此错误的原因。