初学SSH框架,搭建struts2时,能访问input.jsp但是点击submit后无法完成跳转,并出现HTTP Status 404 - /TestStruts2/test.action
type Status report message /TestStruts2/test.action description The requested resource is not availa的错误。
我的相关代码如下:struts配置文件:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 若package加上namespace属性,则jsp页面from的action属性必须加上项目的路径; 若不加上namespace属性,则直接方法名。action即可访问 -->
<package extends="struts-default" name="main">
<action name="login" class="com.xins.action.LoginAction" method="login">
<result name="success">/WEB-INF/result.jsp</result>
</action>
</package>
</struts>
web.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
</web-app>
login.jsp如下:
</head>
<body>
<form action="login.action" method="post">
账号:<input type="text" name="username" />
密码:<input type="password"name="password" />
<input type="submit" value="submit" />
</form>
</body>
</head>
result.jsp如下:
<body>
账号:${request.username} </br>
密码:${requestScope.password} <br>
</body>
处理器类如下:
package com.xins.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serivalVersionUID =1L;
private String username;
private String password;
public String login() throws Exception {
System.out.println("3333333333");
return "success";
}
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;
}
}
已经困扰我一个星期了,拜托拜托。