会话(Session)数据到底是什么?
[ 来源:互网络 | 更新日期:2007-10-03 17:43:16 | 浏览次数:13567]
简介:winesRus
考虑下面的情节:我们的用户 Rob 输入了他最喜欢的(假定的)酒类购物站点的 URL,www. winesRus.com。Rob 浏览页面寻找要买的酒,并在购物车里添加了一些。与站点的所有交互发生在一个由 www.winesRus.com Web 服务器控制的单一会话中。当 Rob 逐屏浏览,购买更多酒时,他要购买的物品的信息、他的地址,还有 Rob 提供的其它任何信息都被保存为会话数据。站点给他要购买的物品定价,并请求他确认。当 Rob 确认时,会话数据被用来执行购买事务,然后数据变成永久性的。
Servlet 与特定的 HTTP URL 一一对应,这很象传统的 Web 编程中每个 URL 要有自己的 CGI 脚本一样。例如,http://winesRus/servlet/purchaseWinesServlet 脚本对应于 http://winesRus.com/servlet/purchaseWinesServlet。
就象 CGI 脚本一样,servlet 自己是无状态的。和 CGI 脚本相似,servlet 也从 HTTP 参数和 HTML 表单获得客户机数据。在一个特定的应用服务器上,每个 servlet 类的一个单独实例为它的特定 URL 处理所有的 doGet() 和 doPost() 请求。每一个 HTTP 请求都在一个运行该实例的 service() 方法的唯一线程上处理。因为每个 servlet 实例都是共享资源,您不能在 servlet 本身存储客户机会话数据(比如顾客的购物车)。会话数据必须存储在 servlet 之外。


您的位置: