用jfinal做的登陆功能,在账号密码正确且选择自动登陆的情况下,能正常登陆,而且也登录了cookie,没有一切问题。
然而在账号密码正确且不选择自动登陆的情况下,就会出现错误,排查了好久也找不出原因,而且在账号密码不正确且不选择自动登陆的情况下,这个错误就不会出现,求解?
public void login() { String name = getPara("name"); String pwd = getPara("pwd"); String rem = getPara("rem"); User item = logservice.finbyName(name); if(item != null) { if(pwd.equals(item.getStr("password")))//判断数据库中的密码与用户输入的密码是否一致 if(rem.equals("on"))//是否自动登陆 { setCookie("userId",item.getStr("userId"),31557600); redirect("/"); } else { setCookie("userId",item.getStr("userId"),3600); redirect("/"); } else//密码错误,待施工 { list(); } } else//账号不存在,待施工 { list(); } }
<form action="/login" method="post"> <div class="w3-container"> <div class="w3-section"> <label><b>用户名</b></label> <input class="w3-input w3-border w3-margin-bottom" type="text" name="name" placeholder="输入用户名"/> <label><b>密码</b></label> <input class="w3-input w3-border" type="password" name="pwd" placeholder="输入密码"/> <input class="w3-check" type="checkbox" name="rem" checked="checked" value="on"/> 记住我 <span class="w3-right w3-padding w3-hide-small"> <a href="#">忘记密码?</a></span> <span class="w3-right w3-padding w3-hide-small"> <a href="#">注册</a></span> <input class="w3-btn w3-btn-block w3-green" type="submit" value="登陆" /> </div> </div> </form>
对了,还有怎么设置cookie仅本次有效呢?求解答。
你试试把if条件判断修改为常量在前试试
rem.equals("on") 修改为
"on".equals(rem)