您的位置:首页 > 编程语言 > Java开发

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

2017-10-18 15:33 288 查看
      在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方法不用变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐