zoukankan      html  css  js  c++  java
  • 会话

    六、会话
        一】定义:
                用户输入URL地址,有效访问某个网站,在该网站上的进行一系列有效操作,
                随后再关闭浏览器。这整个过程就叫做一次会话。
        二】用途:
                主要解决服务端如果保存每个客户端对应的私有信息
        三】分类-----------保存会话的两种技术
                1》Cookie技术
                2》Session技术
                
                        
            特点:
                1)是一个域对象
                2)每个客户端独享一个域对象。
    九、Cookie技术---客户端的技术
        一】概念:每次发送请求时,客户端都会带上各自的不同Cookie到服务端,
                            服务端一解析Cookie,就知道是哪个客户端发过来的信息。
        二】Cookie类
            1)构造函数
                Cookie(String name, String value);
            2)重点函数
                1》关于缓存时间
                    void setMaxAge(int s);//设置Cookie存放时间,不设置默认为0s。专业来将,Cookie的默认有效期为一次会话周期。
                    int getMaxAge();
                2》获取Cookie对象的名称
                    String getName();
                3》关于Cookie对象的值
                    String getValue();
                    void setVlaue();
                4》获取客户端所有Cookie对象
                    Cookie[] request.getCookies();
                5》将Cookie对象存入客户端
                    void response.addCookie(Cookie cookie);
                5》关于缓存路径
                    void setPath(String uri);
                    String getPath();
                    
                    
                    
                
        三】使用Cookie的基本步骤
        存:
            1》创建Cookie对象
            2》设置Cookie对象在客户端的存活时间
            3》将Cookie对象发送到客户端暂存
        取:
            1》取得客户端所有的Cookie
            2》对相应的Cookie对象进行相应的操作
            
        code:

             /*
            //服务端产生Cookie
            Cookie cookie = new Cookie("username","haha");
            //设置Cookie存活时间
            cookie.setMaxAge(1*24*60*60);
            //服务端将Cookie写到客户端暂存
            response.addCookie(cookie);
            */
            
            //取得客户端所有的Cookie
            Cookie[] cookies = request.getCookies();
            Cookie usernameCookie = null;
            if(cookies!=null){
                for(Cookie c : cookies){
                    if(c.getName().equals("username")){
                        usernameCookie = c;
                        break;
                    }
                }
                //如果找到了Cookie
                if(usernameCookie!=null){
                    System.out.println("Cookie的名字:" + usernameCookie.getName());
                    System.out.println("Cookie的值:" + usernameCookie.getValue());
                    System.out.println("Cookie的生命:" + usernameCookie.getMaxAge());
                    System.out.println("Cookie的路径:" + usernameCookie.getPath());
                }
            }
        }


            

        四】Cookie应用---显示上次访问时间
            原理:更新某个Cookie,即是向浏览器写一个相同名的Cookie
            注意事项:
                Cookie一定要设置一个有效时间,如果不设置的话,默认该请求访问结束后,
                该Cookie自动销毁。
                即:Cookie的默认有效期为一个有效会话周期。
                
            code:
                long nowTime = System.currentTimeMillis();
                方法一:利用setValue方法
                    nameCookie.setValue(nowTime+"");
                    nameCookie.setMaxAge(24*60*60);
                    response.addCookie(nameCookie);
                方法二:利用构造函数
                    Cookie cook = new Cookie("name", nowTime+"");
                    cook.setMaxAge(24*60*60);
                    response.addCookie(cook);
        五】Cookie应用——删除Cookie
            利用方法
                setMaxAge(0);

  • 相关阅读:
    Hibernate实体对象三种状态
    tar命令: 对某目录文件打tar包时,排除指定的目录或文件
    开发项目时,提示 找不到类的解决方法,以及如何设置编译源目录
    当html中存在url中如: onclick="toView('参数1')", 参数1是特别字符,如&asop;"' "等时,浏览器解析时会报错。解决方法如文中描述
    oracle表分区心得
    启动系统相关服务笔记整理
    使用PSD设计网页页面
    JAR、WAR、EAR 区别
    设置 MyEclipse 默认打开文件方式
    前端性能优化
  • 原文地址:https://www.cnblogs.com/SkyGood/p/3980612.html
Copyright © 2011-2022 走看看