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,呵呵。 | ||||||||||||||
} |
登录验证
最新推荐文章于 2024-09-27 11:30:45 发布