使用Struts应用程序时出现404错误

几天之后,我在运行Struts Web应用程序时遇到了一些问题。 我尝试了StackOverflow的几个与我的问题有关的解决方案,但没有一个有效。

web.xml中

Struts2 Application  struts2  org.apache.struts2.dispatcher.FilterDispatcher    struts2 /*   Login.jsp  

在struts.xml

       Welcome.jsp Login.jsp    

Login.jsp页面

     Struts 2 - Login Application | ViralPatel.net   

Struts 2 - Login Application

LoginAction.java

 package net.viralpatel.struts2; public class LoginAction { private String username; private String password; public String execute() { if (this.username.equals("admin") && this.password.equals("admin123")) { return "success"; } else { return "error"; } } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 

我添加的Libs

 1.commons-logging-1.1.3.jar 2. freemarker-2.3.19.jar 3. ognl-3.0.6.jar 4. struts2-core-2.3.15.1.jar 5. xwork-core-2.3.15.1.jar 

访问URL时出错http://localhost:8080/StrutsHelloWorld/

 HTTP Status 404 - /StrutsHelloWorld/ type Status report message /StrutsHelloWorld/ description The requested resource is not available. Apache Tomcat/7.0.42 

我试过这个http://java.dzone.com/articles/struts2-tutorial-part-27

我的控制台上没有错误,问题视图。 如果有人能帮助我,我会很高兴。

错误404表示您请求的资源不可用,同样指的是未映射到请求URL的操作。

不推荐使用FilterDispatcher ,可能无法使用当前的Struts版本,请改用StrutsPrepareAndExcecuteFilter

  struts2  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter    struts2 /*  

struts.xml添加以下内容

  /Login.jsp 

这会将您转到登录页面。 还要考虑使用JSP资源的绝对路径。

在JSP中使用需要重写的表单

      

action属性中,使用操作名称并像在程序包配置中一样提供namespace

s:submit标签中使用method="execute"是无用的,默认情况下使用的方法是execute ,并且由于你在Struts配置中关闭了DMI,它将无法工作。

WEB-INF/lib中的旧库上添加库并没有多大帮助,并且您的应用程序可能无法工作,直到您删除并替换所有较低版本库的更高版本并添加当前版本的Struts所需的新库框架。