session内置对象

内置对象session

1、session是JSP的内置对象,是javax.servlet.http.HttpSession类的对象;

2、session被称为会话,从用户进入一个网站浏览开始到浏览器关闭被称为一次会话;

3、服务器为session在内存中分配一块独立的空间;

4、session的作用是数据共享;

5、服务器是通过SessionID知道数据是哪个用户存储的;

6、SessionID是web服务器生成的、永远不重复的、32位长度的字符串;

7、使用session的时候,需要在page标签中设定session=“true”才可以直接使用;

8、服务器产生SessionID后,将生成的SessionID在服务器上当前会话的session存储空间中保存一份,再讲SessionID以Cookie的形式响应到客户端浏览器中一份。

**注:正因为SessionID是以Cookie的形式响应到客户端的,当屏蔽Cookie后,SessionID就不能在浏览器与服务器之间传递,此时每次请求都会成为一次独立的会话,若想不受Cookie屏蔽的影响,可以通过将Jsessionid作为参数重写URL的方法解决,要特别注意的是,此时重写URL在路径后面接参数的时候用的不是问号,而是分号;

9、默认情况下,Tomcat会话存储空间中存储的数据的生命周期是30分钟

10、session的方法:

(1)getId():获得当前session的SessionID;

(2)getAttribute(String,Object):向session空间中存储对象;

(3)getAttribute(String key):从当前的session空间中获取key对应的对象;

(4)invalidate():强制session过期;

(5)removeAttribute(String):从当前的session空间中删除key对应的对象;

(6)getCreationTime():获得当前session创建的时间;

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

(8)setMaxInactiveInterval(int):设置session的最大请求时间间隔,单位为秒;

(9)getMaxInactiveInterval():获得session的最大请求时间间隔,单位为秒;

(10)inNew():判断一个session是不是一个新的session;

11、session的生命周期可以通过session的setMaxInactiveInterval()方法进行设置,也可以在web.xml进行设置,但是前者比后者的优先级高;

12、Cookie和Session的区别:

(1)cookie数据存放在客户端,二session数据存放服务器;

(2)cookie中只能存储文本类型,session中只能存储Object类型;

(3)cookie不是很安全,别人可以分析本地存放的cookie进行更改cookie,session相对于cookie较安全;

(4)session存放在服务器上,当访问量增多时,会占用服务器较多内存,导致服务器性能下降。

(5)浏览器最多只能保存300个cookie,每个站点最多保存20个;

(6)session是内置对象,cookie不是;

(7)如果要在cookie中写中文,必须要URLEncoder.encoder()方法进行编码,读取时需要URLdecoder.decode()方法进行解码,session则不需要;

另:include指令(JSP的三种指令之一,另外两种是page、taglib):将指定的页面源代码含入到当前位置;

<%@include  file="要含入的页面名称"%>

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值