关于HttpSession

Posted yuyu666

tags:

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

关于HttpSession, 在服务器端保存用户状态的一种机制

(1) 获取HttpSession对象的方法:


// 参数为true,表示若存在对应的HttpSession对象,则返回。若不存在,则创建一个新的。

// 若参数为false,表示若存在对应的HttpSession对象,则返回。若不存在,则返回null。

HttpSession session = request.getSession(true);

(2) 对HttpSession对象, 进行存取数据的操作


// 两个参数,分别为命名属性和对应的数据

session.setAttribute("name", data);

// 一个参数,命名属性,注意返回的为Object对象,要强转

session.getAttribute("name");

(3) 比较Session和request:

request:

创建:当用户请求到达服务器的时候。

销毁:当本次请求的应答回到客户端的时候。

  客户端的一次请求应答之间。

session:

创建:当用户第一次调用request.getSession( true )

销毁:超时 ( 两级超时限制 )

    1) 内存 ---> 文件。

    2) 从文件系统销毁。

session的原理:

给每个浏览器一个cookie,这个cookie的name属性为"jsessionid",value属性为这个session对应的ID值。

(4) 当浏览器拒绝cookie时可以用URL把session的id提交给服务器

如:

http://localhost:8989/servletapp/forwardB;jsessionid=37D50D093CCD4A37CC1118785E38F438

"url;jessionid="+ session.getId()

response.encodeURL("url"):对url进行编码

以上是关于关于HttpSession的主要内容,如果未能解决你的问题,请参考以下文章

服务器端(HttpSession)

关于代码片段的时间复杂度

httpSession的正确理解

关于片段生命周期

关于js----------------分享前端开发常用代码片段

关于在各浏览器中插入音频文件的html代码片段