Servlet会话跟踪

  • URL重写: 在URL结尾附加会话ID标识,服务器通过会话ID识别不同用户.
  • 隐藏表单域: 将会话ID埋入HTML表单隐藏域提交到服务端(会话ID不在浏览器页面显示).
  • Cookie: 第一次请求时服务器主动发一小段信息给浏览器(即Cookie),下次请求时浏览器自动附带该段信息发送给服务器,服务器读取Cookie识别用户.
  • Session: 服务器为每个用户创建一个Session对象保存到内存,并生成一个sessionID放入Cookie发送给浏览器,下次访问时sessionID会随Cookie传回来,服务器再根据sessionID找到对应Session对象(Java领域特有).

Cookie

  1. 创建Cookie
  2. Cookie属性
  3. 发送到客户端                                                                                                                                   Cookie  cookie_name = new Cookie("Parameter","Value");                                                                  cookie_name.setMaxAge(0);                                                                                                           response.addCookie(cookie_name);
  • Cookie规范                                                                                                                                        Cookie通过请求头/响应头在服务器与客户端之间传输, 大小限制为4KB;                                                    一台服务器在一个客户端最多保存20个Cookie;                                                                                      一个浏览器最多保存300个Cookie;

有效期

Cookie的Max-Age决定了Cookie的有效期,单位为秒.Cookie类通过getMaxAge()setMaxAge(int maxAge)方法来读写Max-Age属性:

  •  Session有一定的过期时间: 当用户长时间不去访问该Session,就会超时失效,虽然此时sessionID可能还在Cookie中, 只是服务器根据该sessionID已经找不到Session对象了.

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    也可以用代码设置setMaxInactiveInterval(int  interval);单位为毫秒 
  • Session的超时时间可以在web.xml中配置, 单位为分钟:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值