Java Session的简单运用 可用于自动登录以及保存需要的数据等

      在WEB开发中,服务器可以为浏览器创建一个会话对象(session对象),通过将一个sessionID 以cookie方式返回给浏览器,只要浏览器不保持关闭或者没有超过session的失效时间,服务器就会一直保持这个session对象存放需要存储的数据,特别应用于用户自动登录。

     

     public void  UserInfo(HttpServletRequest request){

        JSONObject   customerInfo = new JSONObject  ();

         customerInfo.put("username","hanger");

         customerInfo.put("username","hanger111"); 


          // 创建或者获取session对象
        HttpSession session = request.getSession();
        // 修改session
        session.setMaxInactiveInterval(1 * 24 * 60 * 60);// 秒后session对象将要被销毁
        // 保存会话数据(作为域对象)
        session.setAttribute("customerInfo", customerInfo.toString());

}

public void checkUserInfo(HttpServletRequest request,HttpServletResponse response){

       // 创建或者获取session对象
        HttpSession session = request.getSession();

        String customerInfo = (String) session.getAttribute("customerInfo");
        if (StringUtils.isEmpty(customerInfo)) {
            response.sendRedirect("http://www.baidu.com");
            return null; // 告诉Spring MVC我已经完成了处理 避免因为删除cookies 页面重定向携带jsessionid  报错
                            // 找不到服务器
        } else {

        response.getWriter().write(customerInfo);//将客户信息返回到页面

        }

}


上述就完成了session的基本操作,当调用UserInfo时,将数据存到session,调用checkUserInfo时,检查session是否还存在,不存在就重定向你想要的页面,比如你的首页,或者登录页,否则将数据发送到页面,用于页面获取,

  自动登录的具体实现就是,当请求过来,自己定义一个页面标识是否勾选自动登录的值,当判断不自动登录则不用保存session,下次请求自动重定向到指定页面,否则将数据保存到session中,checkUserInfo方法不用变。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值