我正在使用Struts2创建这个hello world应用程序而且我遇到了
HTTP Status 404 - /HelloStruts2/
这是我的web.xml
<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_3_0.xsd" version="3.0">
<display-name>HelloStruts2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
这是我的struts.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.devMode" value="true" />
<package name="basicstruts2" extends="struts-default">
<action name="index">
<result>WEB-INF/index.jsp</result>
</action>
<action name="hello"
class="actions.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
以下是我的应用程序中的jar列表
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-logging-api-1.1.jar
freemarker-2.3.19.jar
javassist-3.15.0-GA.jar
jstl-1.2.jar
ognl-3.0.5.jar
struts2-core-2.3.7.jar
xwork-core-2.3.7.jar
答案 0 :(得分:2)
我修复了它,事实证明我只需要commons-lang
jar到lib
目录。
答案 1 :(得分:1)
在web.xml中尝试以下代码段(在struts过滤器用户中使用模式* .action)
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
答案 2 :(得分:0)
commons-fileupload-1.2.1
commons-io-1.3.2
commons-logging-1.0.4
commons-logging-api-1.1
freemarker-2.3.16
javassist-3.14.0-GA
log4j-1.2.16
ognl-3.0
struts2-core-2.2.1.1
xwork-core-2.2.1.1
答案 3 :(得分:0)
我有同样的问题,我努力解决它好几个小时,即使我放了上面提到的适当的罐子。
我遇到过这个问题,因为apache tomcat的文件夹common-&gt; lib下面有太多的jars文件导致了这个问题。
所以
1)保持罐子和那里的依赖性整齐 2)检查web-inf的lib文件夹下的jar以获取依赖关系。 3)检查包含相同类但具有不同版本的jar。
我在卸载tomcat并重新安装时找到了解决方案。