Servlet之会话(Session)

Posted 厨房有只偷吃的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet之会话(Session)相关的知识,希望对你有一定的参考价值。

什么是会话?

会话:

Web应用中的会话 指的是一个客户端浏览器与Web服务器之间连续发生的一系列请求和响应的过程

会话状态:

Web服务器和浏览器在会话的过程中产生的状态信息

作用:

借助会话的状态,web服务器能够把同一个会话中的一系列的请求和响应过程关联起来,使得他们之间可以相互依赖和传递信息

创建会话:

HttpservletRequest 中建立会话:

  • HttpSession getSession()
    是否之前有建立Session,如果没有,创建一个Session,如果有,使用当前Session

  • HttpSession getSession(boolean create)
    是否之前有建立Session,如果有,使用当前Session
    如果没有,看参数值:
    true 创建一个新的session
    false 不创建,返回null


HttpSession 常用方法

boolean isNew()  // 判断该会话是否是一个新创建的Session

long getCreationTime()   //获取该Session创建的时间 毫秒值 1/1/1970 

java.lang.String getId()   //Session的ID值,不重复

long getLastAccessedTime()  // 获得最后一次访问此会话的时间  毫秒值 1/1/1970 

int getMaxInactiveInterval()   //获取会话超时的最大时间值  秒值

java.lang.Object getAttribute(java.lang.String name)

void setAttribute(java.lang.String name,java.lang.Object value)

如何实现有状态的会话

HTTP协议是一种无状态的协议:浏览器主动发出一个请求,web服务器被动的回应一个结果。不会保留客户的任何信息。

服务器接收到某个浏览器的访问请求,无法确定该浏览器之前所访问的请求信息。

使用会话ID(SessionID)来标识每次请求信息以实现由状态的会话

常用的会话跟踪技术:

1 通过Cookie在请求消息中进行传递会话ID

2 通过URL重写 使用请求URL把会话ID作为参数传给服务器

以上是关于Servlet之会话(Session)的主要内容,如果未能解决你的问题,请参考以下文章

Servlet编程专题7之HttpSession

JAVAWEB开发之JSPEL及会话技术(Cookie和Session)的使用详解

会话之Session

JavaWeb会话管理之细说cookie与session

2.servlet的会话机制session

Servlet学习——会话技术cookie&session