用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)