JSPsession对象.ppt
《JSPsession对象.ppt》由会员分享,可在线阅读,更多相关《JSPsession对象.ppt(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第十一讲第十一讲 JSP session对象对象第第8章章 JSP session对象对象*知识回顾知识回顾*oapplication对象的作用范围是什么?对象的作用范围是什么?oapplication如何对属性操作?如何对属性操作?n如何设置如何设置application对象的属性?对象的属性?n如何获取如何获取application对象的属性?对象的属性?n如何获取一个虚目录对应的真实目录?如何获取一个虚目录对应的真实目录?o作业中的问题作业中的问题n利用利用application对象的全局特性,设置两个页面对象的全局特性,设置两个页面o信息发送页面信息发送页面talk.jsp,向,向ap
2、plication对象中添加属性对象中添加属性o信息显示页面信息显示页面message.jsp,显示,显示application对象中的属性值对象中的属性值o用户登录后才能聊天,需要区分并保存每个用户的登录信息用户登录后才能聊天,需要区分并保存每个用户的登录信息n用用request可以实现(但实际应用中有局限性)可以实现(但实际应用中有局限性)n不能用不能用application对象,因为它不能区分不同用户对象,因为它不能区分不同用户n也不能用也不能用Cookie对象,因为它不能区分同一个客户端的不同用户对象,因为它不能区分同一个客户端的不同用户n如何实现?如何实现?*本讲要点本讲要点*ose
3、ssion的基本结构的基本结构osession的基本属性的基本属性o用户登录(用户身份认证)用户登录(用户身份认证)osession跟踪跟踪(了解)(了解)osession钝化机制钝化机制(了解)(了解)存在问题:存在问题:n利用利用application对象的全局特性,设置两个页面对象的全局特性,设置两个页面o信息发送页面信息发送页面talk.jsp,向,向application对象中添加属性对象中添加属性o信息显示页面信息显示页面message.jsp,显示,显示application对象中的属性对象中的属性值值o用户登录后才能聊天,需要区分并保存每个用户的登录信息用户登录后才能聊天,需要
4、区分并保存每个用户的登录信息n用用request可以实现(但实际应用中有局限性)可以实现(但实际应用中有局限性)n不能用不能用application对象,因为它不能区分不同用户对象,因为它不能区分不同用户n也不能用也不能用Cookie对象,因为它不能区分同一个客户端的不同用户对象,因为它不能区分同一个客户端的不同用户n如何实现?如何实现?o讨论:服务器如何知道我们已经登录了?讨论:服务器如何知道我们已经登录了?nhttp协议本身是一种无状态的协议,也就是客户端连续发送的多个请求协议本身是一种无状态的协议,也就是客户端连续发送的多个请求之间没有联系,下一次请求不关心上一次请求的状态。之间没有联系
5、,下一次请求不关心上一次请求的状态。n而实际运用中却而实际运用中却希望服务器能记住客户端请求的状态希望服务器能记住客户端请求的状态,比如在网上购物,比如在网上购物系统中,服务器端应该能够识别并跟踪每个登录到系统中的用户挑选并系统中,服务器端应该能够识别并跟踪每个登录到系统中的用户挑选并购买商品的整个流程购买商品的整个流程。为此,。为此,web服务器必须采用一种机制来唯一地服务器必须采用一种机制来唯一地标识一个用户标识一个用户,同时,同时记录该用户的状态记录该用户的状态,这就要用到,这就要用到会话跟踪技术会话跟踪技术。o会话会话(Session)nJava Web使用使用Session来跟踪会话
6、和管理会话内的状态。来跟踪会话和管理会话内的状态。什么是会话?什么是会话?http:/./Index.htmlhttp:/./readme.html返回返回index.htmlindex.html内容内容返回返回readme.htmlreadme.html内容内容会话跟踪会话跟踪Sesstion请求请求1ID1session处理结果处理结果1ID1请求请求2ID1处理结果处理结果2ID1ID1o什么是一次会话?什么是一次会话?n用户打开浏览器访问用户打开浏览器访问Web应用中的各个网页,到关闭浏览器的过程就应用中的各个网页,到关闭浏览器的过程就是一次会话。是一次会话。n一次会话对应于一个一次会
7、话对应于一个session对象对象o会话的建立过程会话的建立过程n会话开始,会话开始,Web服务器为服务器为session对象分配唯一的对象分配唯一的sessionID,将其,将其发送给客户端,当客户再次发送发送给客户端,当客户再次发送HTTP请求时,客户端将请求时,客户端将sessionID再传回来。再传回来。nWeb服务器从请求中读取服务器从请求中读取sessionID,然后根据,然后根据sessionID找到对找到对应的应的session对象,从而得到客户的状态信息。对象,从而得到客户的状态信息。session对象常用方法对象常用方法oString getID()n获取获取session
8、对象的唯一标识对象的唯一标识ovoid setAttribute(String name,Object value)n与与application对象类似,以对象类似,以key-value的形式设置会话属性,的形式设置会话属性,它的有效期是在一次会话期间。它的有效期是在一次会话期间。oObject getAttribute(String name)n根据属性名获取根据属性名获取session对象中的属性值对象中的属性值ovoid removeAttribute(String name)n删除删除session对象中由属性名指定的属性对象中由属性名指定的属性o其它方法(其它方法(P163表表8-1
9、)例例1session对象作用范围对象作用范围o需求说明需求说明n编写编写两个两个网页网页s1.jsp和和s2.jsp,其功能均为获取并输出,其功能均为获取并输出session对象的对象的ID编码,在编码,在s1.jsp文件中设置超链接到文件中设置超链接到s2.jsp.o代码实现代码实现o测试这两个网页:测试这两个网页:n分别打开两个浏览器测试这两个网页,比较其分别打开两个浏览器测试这两个网页,比较其ID值值n打开打开s1.jsp,并通过链接转到并通过链接转到s2.jsp,比较其,比较其ID值值s2.jsp:s1.jsp:showsession 程序程序s1.jsp关键代码关键代码程序程序s2
10、.jsp关键代码关键代码例例2session属性设置与应用属性设置与应用o需求说明需求说明n改写上例,编写网页改写上例,编写网页s3.jsp,用表单提交用户信息,并保存到,用表单提交用户信息,并保存到session对象的属性中,提供超链接到对象的属性中,提供超链接到s1.jsp,在,在s1.jsp中中获取这个获取这个session属性,并输出。属性,并输出。例例2session属性设置属性设置(代码实现代码实现)uname:session属性设置成功属性设置成功 点此查看点此查看 uname:s2.jsp获取获取session属性属性s3.jsp设置设置session属性属性例例3用户登录(用
11、户身份认证)用户登录(用户身份认证)o需求说明需求说明n网站上有些内容只有登录用户才能访问其中的内容,我们把这些页面网站上有些内容只有登录用户才能访问其中的内容,我们把这些页面称为授权访问页,如:网上选课,网上成绩查询等。称为授权访问页,如:网上选课,网上成绩查询等。o设计思路设计思路n在登录处理页面中,将合法的用户登录信息写入在登录处理页面中,将合法的用户登录信息写入session属性属性n在授权访问面中首先从在授权访问面中首先从session对象中获取相关属性值,如果该属性对象中获取相关属性值,如果该属性不存在则说明来访者尚未登录,将页面转向登录提示页,如果访属性不存在则说明来访者尚未登录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSPsession 对象
限制150内