session表示客户端与服务器的一次会话。

Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。

从上述定义中可以看到,session实际上是一个特定的时间概念。

在服务器的内存中保存着不同用户的session。


session对象:

session对象是HttpSession类的实例

session对象在第一个JSP页面被装载是自动创建,完成会话期管理。

从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。

当一个客户访问一个服务器时,可能会在服务器几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。


session对象常用方法如下:

long getCreateTime() 返回SESSION创建时间

public String getId() 返回SESSION创建时JSP引擎为它设的唯一ID号

public Object setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话

public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null

String[] getValueNames() 返回一个包含在此SESSION中所有可用属性的数组

void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSON被取消(单位秒)

int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSON被取消(单位秒)


Session的生命周期

创建

  当客户端第一次访问某个jsp后者Servlet时,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验,来判断是否属于同一次会话。

活动

  某次会话当中通过超链接打开的新页面属于同一次会话。

  只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。

  除非本次会话的所有玉面都关闭后再重新访问某个JSP后者Servlet将会创建信的会话。(注:原有会话还存在,只是这个就得Session仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验。)

销毁

  Session的销毁的三种方式:

  1.调用了session.invalidate()方法

  2.Session过期(超时)

  3.服务器重新启动

  

Tomcat默认Session超时时间为30分钟。

设置Session超时有两种方式:

  1.sessionsetMaxInactiveInterval(时间) //单位秒

  2.在web.xml配置  (单位是分钟)

    <session-config>

      <sessoin-timeout>

        10

      </session-config>

    </session-config>

JSP_内置对象_session的更多相关文章

  1. 初学JSP_内置对象

    out内置对象: 表单,表单常用的的提交方式

  2. jsp_内置对象_request

    request内置对象是使用最多的一个对象,其主要作用是接收客户端发送来的请求信息.如请求的参数.发送的头信息等都属于客户端发送来的信息.request是javax.servlet.http.Http ...

  3. JSP_内置对象_response

    response对象: response对象包含了相应客户请求的有关信息,但在JSP中很少直接用到它,它是HttpServletResponse类的实例.response对象具有页面作用域,即访问一个 ...

  4. JSP_内置对象_请求转发和请求重定向的区别

    请求重定向:客户端行为,response.sendRedirect(),从本质上将等同与两次请求,前一次请求request对象不会保存,地址栏的URL地址会改变. 请求转发:服务器行为,request ...

  5. JSP_内置对象_out

    out对象是JspWriter类的实例,是向客户端输出内容的常用对象,常用方法如下: void println() 向客户端打印字符串 void clear() 清除缓冲区的内容,如果在flush之后 ...

  6. java web学习总结(二十五) -------------------JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  7. javaScript的内置对象

    javaScript 有11种内置对象: Array . String .Date .Math . Boolean .Number . Function .Global .Error . RegExp ...

  8. ASP.NET的六大内置对象

    ASP.NET 六大内置对象(System.Web.UI.Page类): 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cooki R ...

  9. Jsp的九个内置对象

    一.什么是内置对象?在jsp开发中,会频繁使用到一些对象.例如HttSession,ServletContext,HttpServletRequest.如果我们每次要使用这些对象都去创建这些对象,就会 ...

随机推荐

  1. 【Codeforces 27A】Next Test

    [链接] 我是链接,点我呀:) [题意] 让你求没出现过的最小值 [题解] 模拟..for一下就好 [代码] import java.io.*; import java.util.*; public ...

  2. 【codeforces 510A】Fox And Snake

    [题目链接]:http://codeforces.com/contest/510/problem/A [题意] 让你画一条蛇.. [题解] 煞笔提 [Number Of WA] 0 [完整代码] #i ...

  3. 传染病控制(洛谷 1041 WA 90)

    题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带 ...

  4. [poj3974]Palindrome_Manacher

    Palindrome poj-3974 题目大意:求字符串的最长回文子串. 注释:$1\le strlen(s) \le 10^6$. 想法:介绍一种字符串算法——Manacher.求以每一个字符和字 ...

  5. What you can talk

    data buffer who locked the account hash join cost memory and nested loop do not. How to make it hash ...

  6. 关于卷积网络以及反卷积网络shape的计算

    CNN的计算方式: w1 = (w - F_w + 2p) / s_w + 1 h1 = (h - F_h + 2p) / s_h + 1 其中 w, h 分别为上一层的宽高, Filters(ker ...

  7. vbs setkeys 特殊符号

    set keys={~}!^@^#^${%%}{^&^}{^^}{*}{(}{)}{_}{-}{=}{+}.;:'"

  8. 折腾开源WRT的AC无线路由之路-3

    来看看Netgear自带的用户界面和具体功能,看看它都能干什么. 開始 一开机.用网线连接到你的电脑上,在浏览器地址栏中输入Netgear默认的路由器地址192.168.1.1,第一次使用时它有个向导 ...

  9. SpringMVC + MyBatis 配置文件

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  10. spring:为javabean的集合对象注入属性值

    spring:为JavaBean的集合对象注入属性值 在 spring 中可以对List.Set.Map 等集合进行配置,不过根据集合类型的不同,需要使用不同的标签配置对应相应的集合. 1.创建 Ts ...