zoukankan      html  css  js  c++  java
  • 随笔一(会话机制)

    1、cookie

    在客户端保持状态的方案,好比会员卡,初始的时候服务器会给用户一个cookie,在下一次请求服务器时就可以在请求头里携带cookie,从而认证身份,达到持续连接的效果。

    cookie在一段时间后就会失效。

    doget():

    //发送cookie给客户端
            Cookie cookie = new Cookie("aa", "bb");
            //给响应,添加一个cookie
            response.addCookie(cookie);
            response.getWriter().write("请求成功了...");
            
            
            
            //获取客户端带过来的cookie
            Cookie[] cookies = request.getCookies();
            if(cookies != null){
                for (Cookie c : cookies) {
                    String cookieName = c.getName();
                    String cookieValue = c.getValue();
                    System.out.println(cookieName + " = "+ cookieValue);
                }
            }
            

    (cookies好似一个map表)

    (用cokie记录浏览记录的话,可以在value上修改增长该字符串)

    设置相关参数:

            //关闭浏览器后,cookie就没有了。 ---> 针对没有设置cookie的有效期。
            //    expiry: 有效 以秒计算。
            //正值 : 表示 在这个数字过后,cookie将会失效。
            //负值: 关闭浏览器,那么cookie就失效, 默认值是 -1
            cookie.setMaxAge(60 * 60 * 24 * 7);
            
            //赋值新的值
            //cookie.setValue(newValue);
            
            //用于指定只有请求了指定的域名,才会带上该cookie
            cookie.setDomain(".itheima.com");
            
            //只有访问该域名下的cookieDemo的这个路径地址才会带cookie
            cookie.setPath("/CookieDemo");

    2、session(会话)

    在服务端保持状态的方案,在服务器上用它来存储数据(比在客户端的cookie安全),也是servlet/jsp的一个内置对象(作用域),可以存储数据,数据会在与对应的用户会话时期有效。

    (1)session信息放在cookie里,由cookie得知用户的sessionID

    (2)cookie被浏览器禁止了?可以以get方式放在url后面

    常用api:

            //得到会话ID
            String id = session.getId();
            
            //存值
            session.setAttribute(name, value);
            
            //取值
            session.getAttribute(name);
            
            //移除值
            session.removeAttribute(name);
        //强制干掉会话,里面存放的任何数据就都没有了。
        session.invalidate();
    
    * 创建和销毁
    调用request.getSesion创建 服务器关闭 ,或者 会话超时(默认30分钟)

  • 相关阅读:
    前端页面模拟浏览器搜索功能Ctrl+F实现
    正则表达式中?=和?:和?!的理解
    JRebel激活教程
    BAT脚本一键启动多个程序
    WinInet简介及操作流程
    通过线程传递消息
    两串口收发测试
    获取PC可用串口端口,并将其在combo box中显示
    为MFC应用程序添加登录对话框界面
    Using CInternetFile open an Url
  • 原文地址:https://www.cnblogs.com/lnu161403214/p/10524396.html
Copyright © 2011-2022 走看看