欢迎来到天天文库
浏览记录
ID:52986874
大小:369.94 KB
页数:30页
时间:2020-04-08
《javaweb应用开发案例教程第九章session状态持久化技术.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章Session状态持久化技术学习目的与要求Session即会话,会话是客户为实现特定应用目的与系统的多次请求交互。本章将对Session做出相应解释,重点是对会话跟踪技术做详细介绍,最后讲解JavaServlet会话跟踪API。通过本章的学习,理解会话跟踪的几种技术,掌握会话跟踪API的具体使用。本章主要内容会话跟踪技术会话跟踪的基本步骤会话跟踪API9.1会话跟踪技术9.1.1什么是Session首先要说明的是,HTTP协议是一种无状态的协议,客户端每打开一个Web页面,它就会与服务器建立一个新连接,发送新请求到服
2、务器,服务器处理请求将该请求返回给客户端,服务器不记录任何客户端信息,这样每次客户端发送的请求都是独立的,这样的方式在现实中是不可用的。而Session(会话)恰恰是一种能将信息保存在服务器端的技术,它能记录特定的客户端到服务器的一系列请求。9.1会话跟踪技术9.1.2会话跟踪技术上面已经提到过,WEB应用程序使用HTTP协议通信,而HTTP协议是无状态协议,服务器一旦响应完客户端的请求后就断开连接,下次请求会重新建立连接,各次连接之间相互独立,不能维护客户的上下文信息。然而,在开发web应用时,有时必须考虑一些问题:如何
3、把相关的请求联系起来,即怎样维护用户在服务器中的状态?这种维护对web应用所提请求之间的状态的概念就称为“会话跟踪”。例如,用户进行网上购物对应一个会话,用户完成网上购物需要与服务器进行多次交互,每次选购特定的商品,服务器必须识别相应的请求,将商品放入与客户相对应的购物车。会话跟踪允许服务器跟踪同一个客户端作出的连续请求,使得服务器应用程序可以保持客户应用的相关信息。会话跟踪常用的方法包括使用Cookie、URL重写、隐藏表单域等技术。9.1会话跟踪技术1.Cookie实现会话跟踪:cookie是一小块可以嵌入在HTTP请
4、求和应答中的数据。典型情况下,Web服务器将cookie值嵌入到应答的头文件中,而浏览器则在其以后的请求中都将携带同样的cookie。cookie的信息中可以有一部分用来存储会话ID,这个ID被服务器用来将某些HTTP请求绑定在会话中。cookie由浏览器保存在客户端,通常保存在一个名为cookie.txt的文件。cookie还含有一些其他属性,诸如可选的注释、版本号以及最长生存期。下面显示了使用cookie的servlet代码,它显示了当前请求的首部所包含的所有cookie的一些信息。9.1会话跟踪技术packagesa
5、mple;importjavax.servlet.*;importjavax.servlet.http.*;/***
Thisisasimpleservletthatdisplaysallofthe*cookiespresentintherequest*/publicclassCookiesTestextendsHttpServlet{/***
PerformstheHTTPGEToperation**@paramreqTherequestfromtheclient*@paramrespThe
6、responsefromtheservlet*/9.1会话跟踪技术publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException{//Setthecontenttypeoftheresponseresp.setContentType("text/html");//GetthePrintWritertowritetheresponsejava.io.PrintWrit
7、erout=resp.getWriter();//GetanarraycontainingallofthecookiesCookiecookies[]=req.getCookies();9.1会话跟踪技术//Writethepageheaderout.println("");out.println("
8、body>");if((cookies==null)
9、
10、(cookies.length==0)){out.println("Nocookiesfound");}else{out.println("
此文档下载收益归作者所有