• cookie和session


    一、we为什么要用cookie和session

      由于http协议是无状态的,在我们日常访问对网站进行访问时,服务器需要区分当前是哪个用户在请求,这样才能根据特定的用户作出特定的响应,这样就用到了cookie和session。

    二、cookie

      1、Cookie保存在客户端

      2、只能保存字符串对象,不能保存对象类型

      3、需要客户端浏览器的支持,用户可以禁用cookie

      4、一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。

      5、一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。

      6、浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

      7、如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。

      8、cookie 相关api

        new Cookie(key,value)  创建cookie

        HttpServletRequest.getCookies()  获取cookie

        HttpServletResponse.addCookie(Cookie)  添加cookie到响应中

        public int getMaxAge()  获取cookie过期时间

        public void setMaxAge(int expiry)  设置cookie过期时间

        

    三、session特点

      在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。

      

      Session和Cookie的主要区别在于:

        Cookie是把用户的数据写给用户的浏览器。

        Session技术把用户的数据写到用户独占的session中。

        Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。不是访问一个页面就创建session,而是遇到语句request..getSession();就创建了一个session。

      session相关api

        request.getSession(); (等价于request.getSession(true);)表示如果session对象不存在,就创建一个新的会话

        request.getSession(false);  表示如果session对象不存在就返回null,不会创建新的会话对象

        public void setMaxInactiveInterval(int interval)  设置最大非活动时间间隔,单位秒;如果参数interval是负值,表示永不过时。tomcat中session的有效期默认为30分钟。

    <!--通过配置web.xml来设置会话超时,单位是分钟
    允许两种方式并存,但前者优先级更高
    -->
    <session-config>
        <session-timeout>1</session-timeout>
    </session-config>

        

  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/kyleinjava/p/9009705.html
Copyright © 2020-2023  润新知