内置对象:Session

内置对象:session

session是什么?

session 是jsp的内置对象,在请求到达服务器时创建,是javax.servlet.http.HttpSession 类的对象,在jsp中session被称为会话。

会话:在打开浏览器开始时创建,在浏览器关闭时进行销毁,一个会话中包含多次请求与响应,web容器为每一个session在服务器内存中分配了独立的内存空间,用于session存储数据,session的核心是存储数据

session是私有的,当会话创建时,服务器将会形成SessionID,然后将生成的SessionID在服务器当前的会话的session存储空间中保存一份,再讲SessionID以Cookie的形式响应到客户端浏览器中一份。

session的常用方法:

1、getID() 返回值为String 用于获取当前session的SessionID

2、setAttribute(String , Object)返回值是void 用于向Session空间中存储对象(以键值对的形式保存)

3、getAttribute(String  key)返回值是Object 根据键获取对象;

4、invalidate() 返回值是void 强制Session过期

5、removeAttribute(String) 返回值是void 用于从当前Session中空间中删除key对应的对象

6、getCreationTime()返回值是long,获取当前Session的创建时间

7、getLastAccessedTime()获得客户端最后一次请求服务器的时间

8、setMaxlnactivelnterval(int) 返回值是void 是指设置最大请求间隔时间,单位是秒

9、getMaxlnactivelnterval() 返回值是int类型,获得Session的最大请求间隔时间,单位为秒(只在当前页面中起作用)

10、isNew() 返回值是boolean类型,用于判断一个Session是不是一个新的Session

Session与Cookie的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上

2、cookie中只能存储文本类型,session中存储Object类型的数据

3、cookies不是很安全,别人可以分析存放在本地的保存在硬盘中的cookie文件,会进行cookie欺骗

4、session会在生命周期内保存在服务器上,当访问增多时,会较多占用服务器的内存,导致服务器的性能下降

5、单个cookie保存的数据不能超过4k,很多浏览器上限制一个站点做多保存20个cookie

6、session是jsp的内置对象,cookie不是

6.session是内置对象,cookie不是,如果要在cookie中写中文,必须要URLencoder.encode()方法进行编码,URLdecoder.decode()方法用于读取时解码,session则不需要。-+

7、如果要在cookie中写中文,必须要URLencoder.encode()方法进行编码,URLdecoder.decode()方法用于读取时解码,session则不需要。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值