- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JSP 应用开发技术
?郑州大学西亚斯国际学院电子信息工程学院Slide
?郑州大学西亚斯国际学院电子信息工程学院
Slide PAGE 10 of 15
9/10/2013
第九章 使用会话跟踪
授课时数:4
一、教学重点
要求学生理解会话跟踪的概念,HTTP 通信的特点以及无状态性,了解使用
会话跟踪的意义所在。重点是掌握如何使用会话对象session 跟踪用户的会话信息。
二、教学难点
认真理解 session 作为容器进行使用的共享性,如何把用户在一个 WEB 页面的请求数据保存到会话对象 session 中,然后又如何在另一个 WEB 页面中把保存在会话对象 session 中的用户数据取出加以处理。
三、教学目标
通过学习,学生应能够在实际的 WEB 应用中运用会话对象 session 开发网上购物应用程序。
四、教学内容
会话跟踪
? HTTP 的通信过程
? HTTP 的无状态性
? 会话的概念
? 会话的特征
用 session 对象维护会话
? Session 工作原理
? Session 的 ID
? Session 的属性
? 终止会话
五、教学过程
内容回顾:
上一节课,我们主要学习了 JSP 的 3 个内置对象,需要掌握的内容是:
? 内置对象的概念
教师表述:什么是内置对象,内置对象的作用,JSP 中有几个内置对象,哪几个内置对象是比较常用的。
? 内置对象 request、response、out 的用法
分别提问学生在 JSP 页面中什么情况下会用到 request 对象,什么情况下会用到
response 对象,什么情况下会用到 out 对象,教师给予指正。
1、会话跟踪
HTTP的通信过程 (板书)
? 我们已经学过,JSP 程序的运行是基于 B/S 的模式,用户通过客户端
浏览器向 Web 服务器发送一个 HTTP 请求,当服务器收到请求时一个
连接就建立了,服务器根据请求做必要的处理并生成一个响应信息, 然后把它回送给客户端。这个请求-响应过程是在一条网络连接上发生的。这一过程结束后,服务器就关闭了该连接,而不会一直与客户
端保持者连接的状态。其过程如图 2-1 所示:
图 2-1
举例:这种情况如同寄信,地址姓名填好后往邮筒内一扔,收信人就能收到。然而,和我们打电话的情形不一样,打电话也需要先建立连接,但在通话过程中,连接需要始终保持 着直到通话完毕
? 当用户发送另一条请求时,所有的请求-响应循环都将再次发生,客户和服务器之间必须重新建立连接。
解释:日常生活中上网时,当你在IE 的地址栏中输入
然后回车,一个请求就发生了,这个请求根据URL 中的域名对应的 IP 地址寻找到服务器, 然后服务器再寻找到要执行的页面,默认寻找的文件名为 index.*并进行解析执行,最后 把执行的结果发送给客户端,这样我们就看到了新浪的主页面,当我们看到主页面时,这个 请求-响应过程就已经发生并结束了,同时,这次连接就不存在了。随后,我们通过点击新 浪主页上面的超连接或导航按钮,这时,一个新的请求就发生了,又需要建立一个新的连接, 而这个连接是完全不同于上次那个连接的一个新的连接。
还可以在类比到学生之前学习C、C++等编程语言中的函数调用,每次调用函数就会为该函数在内存中开辟运行空间,函数调用结束,这个运行空间就随之释放,所以,一个函数 执行的情形就如同 JSP 页面的执行。
那么,大家可能会问,这样每次用户请求每次都要建立连接,挺浪费时间和资源的,为什么不能让用户第一次建立的连接一直保持着,以后的每次请求就可以不再建连接了呢?原因是下面要讲到的:HTTP 协议被设计成为无状态性。
HTTP 的无状态性(板书)
? Web 服务器需要为潜在的大量的用户服务。对于一个服务器,接受一
条网络连接就意味着通过一个套接字侦听进入的请求,如果一个服务器同时连接大量的用户(实际情况的确需要这样),这会消耗掉服务器大量的资源,包括线程和内存。
? 为了能够服务于大量的用户, HTTP 被设计成在每一次新请求中都使用新的连接,这种特性称为 HTTP 的无状态性。
结论:由于 HTTP 具有的这种无状态性,使得我们不能通过把用户的数据存
放在 Servlet 的实例变量中,进而引出需要使用会话对象 session 来保存用户需要在页面之间共享的的数据。
解释:Servlet 的实例变量又可称为是 JSP 页面中的变量,我们在第一节课中就讲到: 一个 JSP 页面在执行时会被服务器转译为一个Java 类,也就是 Servlet 类,而页面中的
变量对应的就是 Servlet 的实例变量。我们知道,JSP 页面的执行就如同一个被调函数的执行,当执行结果出来之后,页面中保存的数据都
文档评论(0)