登录验证

                
                
  
package action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import logic.LoginLogic;
import org.apache.struts.action.Action;
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 bean.ZhuceBean;
import form.LoginForm;
/**
 * LoginAction类处理用户登录事件
 * 
 * @author li5200721
 *
 */
public class LoginAction extends Action {
private final String QiYe = "qiye";
private final String FAILURE = "failure";
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
// login user form
LoginForm loginForm = (LoginForm) form;
ActionMessages msgs = new ActionMessages();
boolean loginFlg = false;
String userName = loginForm.getUserName();
String passWord = loginForm.getPassWord();
String loginFangshi = loginForm.getLoginFangshi();
HttpSession session = request.getSession(false);
loginFlg = isLogin(userName, passWord,loginFangshi);
 if("".equals(userName)){
msgs.add("errorMessage29", new ActionMessage("msgs03", "请填写用户名"));
saveErrors(request, msgs);
return mapping.findForward(FAILURE);
}
 if("".equals(passWord)){
msgs.add("errorMessage28", new ActionMessage("msgs03", "请填密码"));
saveErrors(request, msgs);
return mapping.findForward(FAILURE);
}
if("0".equals(loginFangshi)){
msgs.add("errorMessage27", new ActionMessage("msgs03", "请选择登陆方式"));
saveErrors(request, msgs);
return mapping.findForward(FAILURE);
}
if (loginFlg) {
ZhuceBean zhuceBean = new ZhuceBean();
zhuceBean.setName(userName);
session.setAttribute("zhuceBean", zhuceBean);
session.setAttribute("userName", userName);
return mapping.findForward(QiYe);
}else{
msgs.add("errorMessage211", new ActionMessage("msgs03", "请填写正确用户名和密码"));
saveErrors(request, msgs);
return mapping.findForward(FAILURE);
} 
}
/**
 * 判断用户名,密码,登陆方式是否与数据库匹配
 * @param userName
 * @param passWord
 * @param loginFangshi
 * @return
 */
private boolean isLogin(String userName, String passWord, String loginFangshi) {
boolean flg = false;
LoginLogic loginLogic = null;
LoginForm userInfo = null;
try {
loginLogic = new LoginLogic();
userInfo = loginLogic.getLoginInfo(userName, passWord, loginFangshi);
 String a = userInfo.getUserName();  
       
 String b = userInfo.getPassWord();  
       
 String c = userInfo.getLoginFangshi(); 
       
 int e = userName.length();   
       
 int f = passWord.length();   
       
 int g = loginFangshi.length();  
       
 String h = a.substring(0,e);  
       
 String i = b.substring(0,f);  
       
 String j = c.substring(0,g);  
if (userName.equals(h) && passWord.equals(i) && loginFangshi.equals(j)) {
flg = true;
}
} catch (Exception e) {我打印出来的值都相等,可是在这里用equals
e.printStackTrace();比较时就是为false,狂晕,没注意发现呀,原来
}从数据库中获得的值后面有空格,纳闷,数据库弄了
return flg;N久,那空格依然存在,方法也写了不少,
}都不能解决实际问题,最后想了个substring,呵呵。
}            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值