javaEE session详解

1也可以记录状态信息,与cookie不同,cookie是记录在客户端的,session是记录在服务器端的。

2session是服务器哦开辟的一块内存,session是与浏览器(或子窗口)关联在一起的,其他浏览器访问不了。

3原理:在第一次访问服务器的时候,服务器会创建一个SessionID,会在服务器的Session内存里保存SessionID,然

后把这个SessionID通过response返回给浏览器(浏览器就获得了这个SessionID),在第二次访问服务器,浏览器通

过request提供这个SessionID,服务器就知道你所在的Session了,而不会访问到其他Session。

4在某段时间一连串客户端与服务器的“交易”,在不同的jsp页面中保留客户信息的情况下使用。

5Session的两种方式,一种使用cookie实现(把SessionID放在临时Cookie里面),二如果浏览器不支持cookie,可以通

过url重写来实现,就是将一些额外数据追加到表示会话的每个url末尾,服务器在该标识符与其存储的有关的该会话的

数据之间建立关联,如:hello.jsp?jsessionid=1234。

6可以通过程序来终止一个会话。如果客户端在一定时间内没有操作,服务器会自动终止会话。

7通过HttpSession来读写Session。

8规则:

如果浏览器支持Cookie,创建Session的时候会把SessionID保存在Cookie里面

如果不支持cookie,使用url重写的方式实现Session,response.encodeURL():转码,并在RUL后面加入

SessionID。

session不像cookie拥有路径访问的问题,session同一个application下的servlet/jsp可以共享同一个session,前提

是同一个浏览器窗口。只要是同一个application下建立的session就可以访问。

9创建Session:

HttpSession session = request.getSession(true);//如果没有session创建一个,如果有session就拿到原来那个。

10getRequestedSessionId(),返回随客户端请求到来的会话ID,可能与当前的会话ID相同,也可能不同。

11isRequestedSessionIdFromCookie():当前的Session ID如果是从Cookie获得,为true

12isRequestedSessionIdFromURL():当前Session ID如果是由URL获得,为true

13isRequestedSessionIdValid():如果客户端的会话ID代表的是有效会话,则返回true,否则,(比如,会话过期或根

本不存在),则返回false

14HttpSession的常用方法:

getAttrubuteNames()/getAttribute()

getCreateTime()

getId()

getMaxInactiveInterval()

invalidate()

isNew()

setAttrubute()

setMaxInactivateInterval()

15在jsp中使用session,只要直接使用session就可以了,在第一次使用session时就会为你创建一个session。

16URL重写跟踪会话:服务器将Session ID作为RUL的一部分发送给客户端,客户端在请求URL中再传回来,这样,

web服务器就可以跟踪会话了。

要跟踪客户端的会话,就需要将所有发往客户端的URL进行编码,这可以通过HttpServletResponse接口中的

encodeURL()方法和encodeRedirectURL()方法来实现,其中,encodeRedirectURL()方法主要是在调sendRedirect()

方法之前使用。

只需要对所有的链接和重定向语句中的URL都调用encodeURL()和encodeRedirectURL()进行编码就可以了,这

两个方法在执行时,首先判断当前的servlet是否执行了HttpSession对象的invalidate()方法,如果执行了,直接返回参

数URL,接下来判断客户端是否禁用了Cookie,如果没有禁用,则直接返回参数URL,如果禁用了Cookie,则在参数

URL中附加Session ID,返回编码后的URL

javaEE session详解

时间: 2024-12-16 08:53:43

javaEE session详解的相关文章

PHP5 session 详解

http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状态信息.这时候,Session这种方案应需而生.PHP从4.1开始支持Session管理. session是很抽象的一个概念.我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,然后逐渐地认识了解它. session存储 首先,我们为什么需要Session,就是因为我们需要存储各个用户的状态数据.

Cookie与Session详解

来源:<PHP核心技术与最佳实践> 列旭松 陈文 著 Cookie与Session详解读书笔记,从概念.操作.应用.注意事项以及区别等几方面详细阐述两者的基础知识,它们都是针对HTTP协议的局限性而提出的一种保持客户端和服务器间保持会话连接状态的机制.. 一.Cookie详解 Cookie在远程浏览器端存储数据并以此跟踪和识别用户的机制.从实现上说,Cookie是存储在客户端上的一小段数据,浏览器(即客户端)通过HTTP协议和服务器端进行Cookie交互. Cooke独立于语言存在,严格地说,

.net的session详解 存储模式 存到数据库中 使用范围与大小限制 生命周期

Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息.举个例子来说,我们可以把已登录用户的用户名放在Session中,这样就能通过判断Session中的某个Key来判断用户是否登录,如果登录的话用户名又是多少. 我们知 道,Session对于每一个客户端(或者说浏览器实例)是"人手一份",用户首次与Web服务器建 立连接的时候,服务器会给用户分发一个 SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提

PHP5 session 详解【经典】

原文:http://www.pkwind.com/php5-session-xiang-jie-jing-dian http协议是WEB服务器与客户端 (浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,不持久的.而越来越复杂的WEB应 用,需要保存一些用户状态信息.这时候,Session这种方案应需而生.PHP从4.1开始支持Session管理. session是很抽象的一个概念.我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,

.net Session 详解

(一) 描述当用户在 Web 应用程序中导航 ASP.NET 页时,ASP.NET 会话状态使您能够存储和检索用户的值.HTTP 是一种无状态协议.这意味着 Web 服务器会将针对页面的每个 HTTP 请求作为独立的请求进行处理.服务器不会保留以前的请求过程中所使用的变量值的任何信息.ASP.NET 会话状态将来自限定时间范围内的同一浏览器的请求标识为一个会话,当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用

PHP5 session 详解【经典】 -- 转帖

PHP5 session 详解[经典] http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状态信息.这时候,Session这种方案应需而生.PHP从4.1开始支持Session管理. session是很抽象的一个概念.我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,然后逐渐地认识了解它. session存储 首先,我们为什么需要Session,

Session详解与应用(java,js)

Session机制 在学习session之前,我们首先要了解一下保存在客户端的会话跟踪机制cookie-------cookie详解与应用 除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态.Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力. 1  什么是Session Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上.客户端浏览器访问

会话技术cookie和session详解

什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据. 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户商品为用户结帐. 会话技术分类 会话技术会为两类 Cookie Cookie是客户端技术,程序把每个用户的数

PHP session详解

session处理是所有的Web应用都必须面对的问题.PHP中对session有效期的处理,和其他的解决方案有着很大的不同,这是和PHP的工作机制相关的.    在传统的client/server应用中,对于session失效的情况,可以交给网络协议自己来处理.无论是client端主动关闭连接,还是因为网络异常而导致的连接中断,server端都能够得到通知,触发连接中断的事件.只要编程响应这一事件,执行指定的操作即可.    但对于web应用来说,情况却完全不一样.HTTP协议本身是无状态的,也