使用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所需的新库框架。