用STRUTS做登陆界面,loginform代码如下!
package com.yourcompany.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.yourcompany.struts.form.LoginForm;
public class LoginAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception {
LoginForm actionForm = (LoginForm) form;
String empName=(actionForm).getUsername();
String empPassword=(actionForm).getPassword();
System.out.println("=========================================="+empName);
System.out.println("=========================================="+empPassword);
AbstractDbOperate db=(AbstractDbOperate) empdbFactory.getDbOperate();
IUser user=db.getUser(empName);
ActionMessages messages=new ActionMessages();
if(user==null){
ActionMessage am=new ActionMessage("loginAction.errors.username",empName);
messages.add("username",am);
saveErrors(request,(ActionErrors) messages);
return(mapping.findForward("errors"));
}
String dbPassword=user.getEmpPassword();
if(dbPassword==null||!dbPassword.equals(empPassword)){
ActionMessage am=new ActionMessage("LoginAction.errors.password");
messages.add("password",am);
saveErrors(request,(ActionErrors) messages);
return(mapping.findForward("errors"));
}
return(mapping.findForward("success"));
}
}
已经可以把数据从前台传到后台,但运行TOMCAT,输入username和password,登陆后出错:
==========================================1323123(username)
==========================================132(password)
org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.ClassCastException
问题补充:程序上小的错误可能性比较小,因为我改过好几处,但结果都一样!如果是小的错误,MYECLIPSE会提示的,帮我看下是不是逻辑判断上有误