什么是session?

session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态。session的信息保存在server端,session的id保存在client的cookie中。

比如我们乘坐火车就能够看做是一个session。当我们乘坐火车的时候。我们须要持有一张车票。车票就相当于是一个cookie。而车票上的座位号就相当于是sessionId。

当我们须要訪问列车的时候。检票员会事先检查我们是否持有cookie,假设有就依据cookie里的内容(sessionId) 来推断使用者。假设没有会再一次创建。

session原理:张三和李四分别请求訪问页面,Tomcatserver依据需求划分出一块内存来设置session。将此次会话信息保留在server端上,同一时候为这两个session分配sessionID,并传到client浏览器,交由由cookie来进行管理。当訪问完之后。下次张三须要继续訪问。就会将cookie的sessionID传到server上,进行寻找空间。假设有则继续运行。假设没有则又一次创建一个session。

 session超时:所谓超时是指 session多久未被訪问,就自己主动销毁掉。在Tomcat中默认是30分钟。假设30分钟,session未被訪问,这个session就被释放掉。

 URL-rewriting:是说假设client浏览器禁用或是不支持cookie,将进行URL地址重写。即将该用户aession的id信息重写到URL地址中。

server可以解析重写后的URL获取session的id。

这样即使client不支持cookie,也可以使用session来记录用户状态。

session的生命周期有非常多人都说跟浏览器页面同生共亡。

但存有一点点的疑惑。所以在此不加以叙述。

以上是对session的一个小小总结,如有不足之处,还望不吝赐教!

JSP内置对象—session的更多相关文章

  1. JSP内置对象——session

    sessionsession表示客户端与服务器的一次会话Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所进过的这段时间,也就是用户浏览这个网站所花费的时间从上述定义中可以看 ...

  2. Jsp内置对象-session

    session内置对象介绍 个人理解:session因为是唯一的, session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的 ...

  3. JSP内置对象——session对象

    举个购物流程的例子: 这整个购物过程,它是属于一次回话.那么这个session是保存在服务器内存当中,并且它保存着不同用户对应的session,一个用户对应一个session.看下面这幅图: 从图中可 ...

  4. JSP内置对象Session

    创建和获取客户的会话 setAttribute()与getAttribute() session.setAttribute(String name , Object obj) 如session.set ...

  5. jsp内置对象-session对象

    一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...

  6. JSP内置对象--session对象(getId(),getCreationTime(),getLastAccessedTime(),isNew(),invalidate(),setAttribute(),getAttribute())

    session对象是javax.servlet.http.HttpSession接口的实例,但是不像HttpServletRequest或HttpServletResponse一样,有父接口,他没有父 ...

  7. Java学习-jsp内置对象Session

  8. JSP内置对象的使用(一)

    JSP九大内置对象是:request.response.session.application.out.pagecontext.config.page.exception. JSP常用的内置对象是:o ...

  9. JSP内置对象seesion

    什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定 ...

随机推荐

  1. elasticsearch golang的sdk使用

    文档第一 <elasticsearch权威指南>直接看官网在线版的,比较新,网上那些pdf版的,都是2.x版的,许多不兼容 官方API手册,可以选择版本. golang sdk库的选择 主 ...

  2. java开发之发牌小程序

    发牌规则  黑桃按照从小到大依次为:1-13 红桃按照从小到大依次为:14-26 梅花按照从小到大依次为:27-39 方块按照从小到大依次为:40-52 小王53  大王54 代码实现: packag ...

  3. 【C#】使用user32.dll的MessageBox弹窗消息

    要使用user32.dll的MessageBox弹窗消息,自然需要引入user32.dll到项目中. 一个最简单的实例如下: using System; using System.Runtime.In ...

  4. Postgresql添加/删除触发器示例

    -- 定义触发器 CREATE TRIGGER "vss_after_insert_flow_201702" AFTER INSERT ON "public". ...

  5. windows和linux文件的转换

    由于windows与unix系统的换行不一致,因此需要相互之前的格式转换 只需要在linux上执行 dos2unix filename 将windows下的文本文件转换成linux上可以浏览的文件 u ...

  6. backbone的对象继承实现

    通过原型链实现对象的继承,子类通过’__super__‘来访问父类的方法 // protoProps 子类的属性参数 // staticProps 静态属性 var extend = function ...

  7. java static class 静态类

    一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...

  8. Linux系统中的以太网连接

    1.在Linux中,以太网连接接口被命令为:eth0,eth1等,其中0,1表示网卡编号. 2.lspci来查看网卡硬件信息(USB则是lsusb) 3.ifconfig来查看接口信息 ifconfi ...

  9. asp.net cookie的操作

    //写入 protected void Button2_Click(object sender, EventArgs e)     {         HttpCookie cookie=new Ht ...

  10. Android学习之SharedPreferences

    SharedPreferences使用键值对的方式来存储数据,并支持多种不同类型的数据存储. 1.界面布局 <TableLayout xmlns:android="http://sch ...