java获取session对象的属性_java中session对象及其常⽤⽅法session对象⽤于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。在会话中存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。
在jsp页⾯中可以直接使⽤session对象,也可以通过Session()或Session()⽅法重新获取session对象。
session对象可以保存⽤户的登录信息,实现购物车功能等。
HTTP协议是⼀种⽆状态协议。客户向服务器发出请求request,然后服务器返回响应response,连接就被关闭了。在服务器端不保留连接的有关信息,因此当下⼀次连接时,服务器端已没有以前的连接信息了,⽆法判断这⼀次连接和以前的连接是否属于同⼀个客户。因此,必须使⽤会话记录有关连接的信息。
从客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器,称做⼀个会话。当客户访问服务器是,可能会反复连接这个服务器上的⼏个页⾯、反复刷新⼀个页⾯或不断地向⼀个页⾯提交信息等,服务器应当通过某种⽅法知道这是同⼀个客户,这时就需要session对象。
session的⼯作原理如下:
1.客户⾸次访问服务器的⼀个页⾯时,服务器就会为该客户分配⼀个session对象,同时为该session对象指定⼀个唯⼀的ID,并且将该ID 号发送到客户端并写⼊到cookie中,使得客户端与服务器端的session建⽴⼀⼀对应关系。
2.当客户继续访问服务器上的其他资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调⽤session的invalidate()⽅法使其失效,客户端与服务器的会话结束。
3.当客户重新打开浏览器访问⽹站时,服务器会重新为客户分配⼀个session对象,并重新分配sessionID。
session对象主要⽤于属性操作和会话管理,常⽤⽅法如下:
1.public void setAttribute(Sting name, Object value),设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。
2.public Object getAttribute(String name),在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。
3.public void removeAttribute(String name),删除指定名字的session属性,若该属性不存在,则出现异常。
4.public void invalidate(),使session失效。可以⽴即使当前会话失效,原来会话中存储的所有对象都不能再被访问。
5.public String getId( ),获取当前的会话ID。每个会话在服务器端都存在⼀个唯⼀的标⽰sessionID,session对象发送到浏览器的唯⼀数据就是sessionID,它⼀般存储在cookie中。
6.public void setMaxInactiveInterval(int interval),设置会话的最⼤持续时间,单位是秒,负数表明会话永不失效。
7.public int getMaxInActiveInterval(),获取会话的最⼤持续时间。
session如何设置和读取8.使⽤session对象的
getCreationTime()和getLastAccessedTime()⽅法可以获取会话创建的时间和最后访问的时间,但其返回值是毫秒,⼀般需要使⽤下⾯的转换来获取具体⽇期和时间。
Date creationTime = new CreationTime()); Date accessedTime = new
LastAccessedTime());
contentType="text/html;charset=GBK"%>
会话ID:
session对象⽅法 会话ID:
是否新会话:
session.isNew() %>
设置和获取属性对象:⽤户名 =
session.setAttribute("⽤户名","陈宁"); %>
Date creationTime = new CreationTime()); Date accessedTime = new LastAccessedTime()); %> 会话创建时间:
上次访问时间:
会话持续时间(s):
session.setMaxInactiveInterval(12); %> 修改后的会话持续时间(s):
session.invalidate(); %>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论