A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jack.李 中级黑马   /  2017-8-28 09:29  /  819 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

会话技术

会话: 浏览器和服务器完成一系列交互. 浏览器第一次访问,到关闭浏览器.

会话的基础: 会话的双方都需要有 "记忆力".

cookie和session 是分别在浏览器和服务器端保存信息的技术.

//-------------------------------------------------------
Cookie

原理:
    服务器通过发送Set-Cookie头.让浏览器保存.
    浏览器使用Cookie头,将记住的信息提交到服务器.
   
操作:
    Cookie cookie = new Cookie(key,value);
    response.addCookie(cookie);
   
细节:
    1. 过期时间.
        默认: 会话结束.浏览器关闭
        
        cookie.setMaxAge(num); 设置过期时间.
            +n n秒后过期
            0    发送到浏览器立即过期.(删除cookie时使用)
            -1    默认值.
    2.Cookie路径
        默认: 发送cookie资源的所在路径.
        
        规则: 如果访问的资源是cookie所在路径或自路径.cookie会被发送.
   
        设置: cookie.setPath(path);
        
    3.cookie的主机(域)
        默认: 当前发送cookie的主机
        
        设置: 只能设置主机为当前主机,或当前的一部分.
        
    4.Cookie的覆盖(删除)
        3点一致.
            1>cookie的键
            2>cookie的路径
            3>cookie的主机
    5.cookie中发送中文
        HTTP协议的首行,头部分不支持中文编码.
        如果需要发送中文应使用URL编码.
        工具类:
            URLEncoder     编码
            URLDecoder    解码
--------------------------------------------------------------------------------        
    Session
   
    概念:服务器端保存信息的技术.
   
    原理:第一次访问服务器时,服务器会创建一个session对象,并产生SessionID与session对象对应.
         在响应中,服务器将sessionid要求浏览器记住(cookie).
         浏览器在之后的访问中,会携带sessionid访问.
         服务器拿到浏览器带的sessionid,就可以找到与之对应的session对象.
         
    操作:
        getSession方法 => 发现是第一次来就创建新Session.
                          如果携带了sessionid ,就找对应的session.
                          
        操作数据: 4个操作域的方法.
        
    session细节:
        
            1>session的过期时间.
                默认值为30分钟.
                修改过期时间:
                        1.tomcat/conf/web.xml => <session-config>
                        2.项目/WEB-INF/web.xml=> <session-config>
                        3.session.setMaxInactiveInterval();
   
            2>session中的其他api
                    session.invalidate(); => 立即销毁session.
                    
            3> session域的范围.
                    一次会话.
                    session对象的生命周期:
                            开始: 浏览器第一访问服务器,session对象被创建.
                            结束: 1.关闭浏览器
                                  2.过期时间内没有访问session.session超时销毁.
                                  3.手动销毁session

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马