Java自学

1 Session

一、session的特点及其实例

session:同一次会话共享
 a.浏览网站:开始->关闭
 b.购物:浏览、付款、退出
 c.电子邮件:浏览、写邮件、退出
  从一次开始到一次结束,是一次会话。
  客户端第一次访问服务器时:(因为不存在Cookie的JSESSIONID,无法匹配成功,所以分配)
  客户通过浏览器访问服务器,服务端产生一个session来接待他,产生的session自带一个sessionID(通过sessionID来区分不同的session),服务端会将产生的sessionID复制一份,即JSESSIONID,服务端会将JSESSIONID包含在Cookie中发送给服务器。(服务端和客户端通过Cookie和session对应起来,两者的连接者是通过JSESSIONID和sessionID相同的原理来匹配,实现一一对应)
  客户端第二/n次访问时,直接对客户端已有的Cookie中的JSESSIONID和服务端的session中的sessionID进行匹配,如果匹配成功(JSESSIONID和sessionid相同),说明不是第一次访问,无需登录,实现一一对应。

  类似于商城的存包处
  客户端:顾客;
  服务端:商场存包处;
  顾客第一次存包:先判断有没有钥匙(JSESSIONID),没有,就分配一个。
  顾客第二次存包:判断有没有钥匙(JSESSIONID),有,就进行匹配,找到对应的箱子(session).

  session特点:
  a.session存储在服务端。
  b.session是在同一个客户请求时共享。
  c.session实现机制:第一次用户请求时产生sessionID,并复制给Cookie的JSESSIONID,然后发送给客户端。

  session方法:
  String getID():获取sessionID
  boolean isNew():判断是否是新用户(第一次访问)。
  void invalidate():使session失效(退出登录、注销)。
  //失效只失效当前session

  void getAttribute()
  Object setAttribute()

  void setMaxInactiveInterval():设置最大有效非活动时间
  //如设该时间为30分钟,就是当你从此处离开一段时间,如在30分钟内,可以直接继续操作,如超过30分钟,则需要重新登录。
  int getMaxInactiveInterval():获取当前最大有效非活动时间

2.sessioin运用不熟练

3.继续学习web

原文地址:https://www.cnblogs.com/20193898liufa/p/14161849.html