• Session管理


    Session的作用是维持一个会话的连接。每一个session有一个sessionID。

    浏览器第一次发送请求给服务器,服务器查找请求中的Cookie有没有JsessionID,如果有则根据ID找到session,就将请求与之前的会话联系起来了,

    否则,服务器新建一个session,将sessionid通过cookie传给客户端,这样,每次客户端都会传回这个cookie,服务端就能找到jsessionID,联系会话。

    由于cookie可能会被禁用,可以使用以下的方式

    1,URL重写

    在网址后面增加参数,作为传递的依据.     格式是: 地址?k=v&k=V

    2,使用隐藏的表单来传递数据  type='hidden'即可

    3,上面的两种方法适合于不需要跨越很多页面的情况。使用cookie解决这些问题。

    不能直接删除一个cookies,要想删除只能新创建一个同名 的cookie,然后设置maxAge=0;

    Cookie cookie=new Cookie("K","V");
    cookie.setMaxAge(0);
    response.addCookie(cookie); 
    

    4,HTTPSession

    HttpSession中的值是保存在内存中的,可以把任意的java类型的数据写入HttpSession中。
    与Cookie不一样,HttpSession的值不会发送给客户端,而是保存在服务器内存。Servlet容器为每一个HttpSession创建一个唯一的标识符——jsessionid,标识符传递到客户端,客户端之后只需要把标识符发回来就可以了。一般通过Cookie或者将jsessionid作为参数放在URL的后面。

             HttpSession session=req.getSession();
        
            if(session.isNew()){
                System.out.println("新的Session");
                session.setAttribute("Time",System.currentTimeMillis());
            }
            System.out.println(session.getAttribute("Time"));
            System.out.println(session.getId());
            
            //用户最后一次离开之后,这个Session还能存活10s,10s之后服务器就把那个用户给忘记了。
            //值设为0,session就永远有效
            session.setMaxInactiveInterval(10);
    //使得这个Session强制过期
    session.invalidate();

      

  • 相关阅读:
    登录认证
    json
    关于优化
    网站资源
    设计模式
    Python
    查兰IP
    Linux命令
    centos7.0KVM虚拟化
    Shell数组
  • 原文地址:https://www.cnblogs.com/Coder-Pig/p/6890152.html
Copyright © 2020-2023  润新知