关于登陆设置cookie的问题

用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仅本次有效呢?求解答。

评论区

cnzzr

2017-10-26 23:27

推测是 rem 为null
你试试把if条件判断修改为常量在前试试
rem.equals("on") 修改为
"on".equals(rem)

exxxia

2017-10-27 09:53

@cnzzr 竟然是这个原因,已经解决了,感谢解答。

JFinal

2017-10-27 15:41