0
点赞
收藏
分享

微信扫一扫

jsp学习(五.JSP内置对象与Svervlet学习(2))

舍予兄 2022-04-13 阅读 73
jsp后端

这次学习session

目录

JSP内置对象session

我们知道用户每次发一个请求,服务器就要有一次或几次响应,但是服务器是否知道多次发送请求的是同一个用户呢
session就是解决这样的问题,我们简单的理解为一个session就是一个用户,不同用户都有不同的session,在session中我们可以存放用户的变量,这些变量在整个session访问的范围内都是有效的。

不能理解没关系,看看例子再怎么都明白了

下面介绍session的用法:

session对象的id

每个session对象都有一个id
可以使用session.getId()获取id字符串,可以查看session对象是不是同一个

session对象与URL重写

session能和用户建立起一一对应的关系,依靠用户的浏览器是否支持Cookie。如果用户的浏览器不支持,则不同网页之间的session对象就不同了,但JSP页面能够通过URL重写来实现session对象的唯一性

String str = response.encodeRedirectURl(“example.jsp”)
然后将目标链接换成<%=str%>即可:

知道有这个方法就行,不常用 ## session对象存储数据(常用) session对象能够通过 session.setAttribute(String name,object vaule)设置session变量 通过session.getAttribute(String name)获取变量

session变量在同一个session期内都是有效的,也就是同一个用户内

注意事项:session.getAttribute(String name)获取的是object对象,需要转换

session对象的生存期限

服务器怎么判断什么时候session对象是同一个呢,什么时候又会从新分配session对象。
可以在web.xml中加入

<session-config>
	<session-timeout>30</session-timeout>
</session-config>

表示如果两次请求间隔超过了30分钟,则会重写分配session

其他获取session生存时间的方法不提

例子

全是jsp页面,servlet大同小异,下面讲
随机生成一个数,用户更具提示猜测
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Svervlet session

和jsp的大同小异,
只是在使用session.getAttribute(“name”)等方法时,需要先获取到session对象,使用:
HttpSession session = request.getSession(ture)

例子

一样的原理就直接采用书上的了
请添加图片描述
请添加图片描述
请添加图片描述

举报

相关推荐

0 条评论