概述
前言
大家好,这里是九歌的博客,上次九歌分享了 模糊查询等,今天来分享session和Cookie。天天呆在宿舍当然要卷起来啦,不开心就学习。
提示:以下是本篇文章正文内容,下面案例可供参考
一、session
1.session是什么?
session在网络中被称为会话。
由于HTTP协议(超文本传输协议)是一种无状态协议,也就是当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。
为了弥补这一缺点,HTTP协议提供了session
通过session可以在应用程序的WEB页面间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到关闭浏览器。
但是,如果在一个会话中,客户端长时间不向服务端发出请求,session对象就会自动消失。这个时间取决于服务器,例如,Tomcat服务器默认为30分钟。不过这个时间可以通过编写程序进行修改。实际上,一次会话的过程也可以理解为一个打电话的过程。通话从拿起电话或手机拨号开始,一直到挂断电话结束,在这个过程中,可以与对方聊很多话题,甚至重复的话题。一个会话也是这样,可以重复访问相同的Web页。。
2.运行机制
当一个session开始时,Servlet容器将创建一个Httpsession对象,在Httpsession对象中可以存放客户状态的信息(例如购物车)。
Servlet容器为Httpsession分配一个唯一标识符,称为session ID。 Servlet容器把session
ID作为Cookie保存在客户的浏览器中。
每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取session
ID,然后根据session ID找到相应的Httpsession对象,从而获取客户的状态信息。
3.session对象的生命周期
session对象的生命周期:创建---->使用----->消亡
(1)创建
//当客户端浏览器第一次访问服务器时,服务器为这个浏览器创建一个Session对象。
//在服务器端使用request.getSession()或request.getSession(true)方法来获得Session对象。
request.getSession() //获得Session对象
session.getId() //获得session对象的ID
(2)使用
//创建Session对象后,使用Session对象进行数据的存取和传输。
session.setAttribute(String name, Object obj) //将信息保存在session范围内
session.getAttribute(String name) //获取保存在session范围内的信息
session.getAttributeNames(); //返回Session对象中存储的每一个属性对象,枚举型
session.isNew(); //判断session对象是不是新的
//具体过程:
//a. 将产生的sessionID存入到Cookie中;
//b. 当客户端再次发送请求时,会将se
最后
以上就是包容纸鹤为你收集整理的JavaWeb之session&Cookie前言一、session二、Cookie总结的全部内容,希望文章能够帮你解决JavaWeb之session&Cookie前言一、session二、Cookie总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复