这是我的登录页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><html>
  <head>   
   
    <title>My JSP 'form.jsp' starting page</title>  </head>
  
  <body>
    <form name="userForm" action="/login.do" method="post">
     username <input type="text" name="username"/><br>
     password <input type="password" name="password"/>
     <input type="submit"/>
    </form>
  </body>
</html>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
  <form-beans >
   <form-bean name="userForm" 
   type="onlyfun.caterpillar.UserForm"></form-bean>
  </form-beans>
  <action-mappings>
   <action path="/login" 
   type="onlyfun.caterpillar.LoginAction"
   name="userForm">
   <forward name="helloUser" path="/hello.jsp"/>
   <forward name="loginFail" path="/fail.jsp"></forward>
   </action>
  </action-mappings></struts-config>这是UserForm
package onlyfun.caterpillar;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;public class UserForm extends ActionForm{

private String username;

private String password; 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;
}

public void reset(ActionMapping mapping, HttpServletRequest request){
username = null;
password = null;
}}
这是LoginAction
package onlyfun.caterpillar;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class LoginAction extends Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception{
//System.out.println(form);
String username = ((UserForm) form).getUsername();
String password = ((UserForm) form).getPassword();
request.setAttribute("username", username);
if(username.equals("admin") && password.equals("1234")){
return mapping.findForward("helloUser");
}
return mapping.findForward("loginFail");
}}

解决方案 »

  1.   

    控制台没报错,但页面跳转的时候HTTP404
      

  2.   

    你页面表单提交写错了。  <body>
        <form name="user" action="login.do" method="post">
            username <input type="text" name="user.username"/><br>
            password <input type="password" name="user.password"/>
            <input type="submit"/>
        </form>
      </body>
    你去试试...貌似是这样绑定的
      

  3.   

    你自己先看看有没有执行到你写的那个action中。
      

  4.   

    我用断点试了,貌似没有执行到action中
      

  5.   

    控制台没报错,就是表单提交后就出现HTTP Status 404 - /test/login
      

  6.   

    你应该还没有进Action,仔细看看struts1的配置吧,
      

  7.   

    页面的那个/login.do的/去掉试试