session被置空

if (remember) {
                String timeout = Play.configuration.getProperty("remember.timeout");
                response.setCookie("name", login_name, "", "/", Integer.parseInt(timeout) * 60,false);//30 * 24 * 60 * 60
                response.setCookie("pwd", password, "", "/", Integer.parseInt(timeout) * 60,false);        
                response.setCookie("keys", "true", "", "/", Integer.parseInt(timeout) * 60,false);
            }else{
                response.removeCookie("name");
                response.removeCookie("pwd");                        
            }
服务器端 在执行removeCookie时
     /**
         * Removes the specified cookie with path /
         * @param name cookiename
         */
        public void removeCookie(String name) {
            removeCookie(name, "/");
        }

        /**
         * Removes the cookie
         * @param name cookiename
         * @param path cookiepath
         */
        public void removeCookie(String name, String path) {
            setCookie(name, "", null, path, 0, false);
        }
不是删除了cookie,而是置空,若没有 还会新建一个value为空的cookie。所以在取值判断时,需要判断value为空值。
Http.Cookie currentUser = request.cookies.get("name");          
       
        if(currentUser!=null && currentUser.value!=null&& !currentUser.value.equals("")){
            String name=currentUser.value;
            session.put("user",name);           
        }else{
            if(session.get("user")==null){
                Secures.logout();
            }
           
        }
否则就会出现执行if中语句,将session 中user值置为空值的情况。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值