会话跟踪技术
1. 什么是会话
客户端打开与服务器的连接发出请求到服务器响应客户端请求的全过程称之为会话
2. 什么是会话跟踪
对同一个用户对服务器的连续的请求和接受响应的监视
3. 为什么需要会话跟踪
浏览器与服务器之间的通信是通过HTTP协议进行通信的,而HTTP协议是”无状态”的协议,它不能保存客户的信息,即一次响应完成之后连接就断开了,下一次的请求需要重新连接,这样就需要判断是否是同一个用户,所以才应会话跟踪技术来实现这种要求
4. 介绍
当服务器响应客户端的第一次请求时,将会创建一个新的session对象(该对象实现了HttpSession接口)和一个唯一的ID分配给该请求,以后客户将此会话ID与请求一起传给服务器,此会话ID在后续的请求中会将用户与session对象进行匹配,用于识别不同的客户。
5. 会话跟踪常用的方法:
a) URL重写:URL(统一资源定位符)是Web上特定页面的地址,URL重写的技术就是在URL结尾添加一个附加数据以标识该会话,把会话ID通过URL的信息传递过去,以便在服务器端进行识别不同的用户
b) 隐藏表单域:将会话ID添加到HTML表单元素中提交到服务器,此表单元素并不在客户端显示
c) Cookie:Cookie是Web服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。对于客户端的每次请求,服务器都会将Cookie发送到客户端,在客户端可以进行保存,以便下次使用。
客户端可以采用两种方式来保存这个Cookie对象,一种方式是 保存在 客户端内存中,称为临时Cookie,浏览器关闭后 这个Cookie对象将消失。另外一种方式是保存在 客户机的磁盘上,称为永久Cookie。以后客户端只要访问该网站,就会将这个Cookie再次发送到服务器上,前提是 这个Cookie在有效期内。 这样就实现了对客户的跟踪。
Cookie是可以被禁止的。
d) session:
每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。
在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次访问时,sessionID会发送到服务器,在服务器端进行识别不同的用户
Session是依赖Cookie的,如果Cookie被禁用,那么session也将失效
创建Session对象
HttpSession session=request.getSession();
HttpSession session=request.getSession(true);
上面二种创建session的方法效果是一样的。首先获取传递进来的在Cookie中存放的sessionID,再根据sessionID查找session对象,如果没有找到将创建一个新的session对象,并保存到Cookie中发送到客户端。如果找到了,就将session对象赋予给引用
HttpSession session=request.getSession(false);
这种方式创建过程: 首先获取传递进来的在Cookie中存放的sessionID,再根据sessionID查找session对象,如果没有找到将返回null,如果找到了,就将session对象赋予给引用
分享到:
- 2009-06-29 19:01
- 浏览 1060
- 评论(0)
- 论坛回复 / 浏览 (0 / 2405)
- 查看更多
相关推荐
在JSP(JavaServer Pages)开发中,会话跟踪(Session Tracking)是一项核心技术,它允许应用程序在多个请求之间保持用户的状态信息。...理解和熟练掌握会话跟踪技术,有助于提高Web应用的用户体验和安全性。
本笔记将主要探讨J2EE中的核心概念和技术,包括值对象(Value Object)、JSP(JavaServer Pages)、JavaBean、自定义标签(Custom Tag)以及Servlet和会话跟踪。 **值对象(Value Object)** 值对象是一种在不同层...
4. **会话管理**:为了保持用户的购物车状态,需要使用会话跟踪技术,如HTTP会话或者使用Cookie。这使得用户在浏览不同页面时,其购物车内容能够被正确保存。 5. **安全性**:J2EE提供了多种安全机制,包括角色基
4. **会话管理**:Servlet可以使用`HttpSession`对象跟踪用户的会话状态。 5. **转发与重定向**:`RequestDispatcher`接口用于页面间的转发和重定向。 **总结** J2EE课件涵盖了从基础的J2EE架构到深入的Java反射...
- **Session管理**:服务器端用来跟踪用户会话的一种机制,通常存储在服务器上。 - **Cookie**:客户端用来存储少量数据的一种方式,当浏览器向服务器发送请求时会自动带上对应的Cookie。 示例代码: ```java // ...
HTTP协议的特点是无状态,这意味着每次请求都需要重新建立连接,而会话跟踪技术(如Cookie、URL编码和HttpSession)可以解决这个问题,维持用户会话的连续性。 HttpSession是会话管理的关键,开发者通常需要以下...
【描述】:“非常简单的J2EE购物车是一个基础的电子商务项目,旨在帮助初学者理解J2EE技术在构建web应用程序时的应用,特别是如何实现一个基本的购物车功能。这个项目可能涵盖了用户登录、商品浏览、添加到购物车、...
5. 会话跟踪:在J2EE中,会话跟踪主要通过Session和Cookie实现。Session可以在多个Servlet之间共享用户状态,而Cookie则用于在客户端持久化信息。需要注意的是,如果不设置Cookie的有效期,它会在浏览器关闭后失效。...
会话跟踪允许服务器识别和跟踪不同HTTP请求之间的用户,常用的方法有Session对象、Cookie以及URL重写。 4. **操纵持久化对象**: "操纵持久化对象.ppt"可能涉及如何通过ORM框架,如Hibernate,来创建、读取、更新...
5. **会话管理**:J2EE支持会话bean,它允许在服务器端维护用户状态,从而实现会话跟踪。会话bean分为无状态和有状态两种,前者不保存客户端状态,后者则为每个客户端实例化单独的状态。 6. **消息传递**:JMS...
4. **Session管理**:为了维持用户的会话状态,聊天室应用可能会使用HTTP Session来跟踪用户信息,如登录状态、用户ID等。 5. **数据库连接**:持久化存储用户信息和聊天记录通常需要用到数据库。J2EE提供了JDBC...
在J2EE中,**Session**和**Cookie**是两种非常重要的用户会话管理技术,它们用来在服务器和客户端之间持久化数据,尤其是在用户浏览网站时保持用户的登录状态和其他相关信息。 **1. Session技术** Session是服务器...
4. **会话管理**:Servlet和JSESSIONID机制用于跟踪用户会话,确保用户在整个购物过程中的状态得以保存。 5. **安全控制**:J2EE的安全特性,如角色基础的访问控制(RBAC),可以用于限制不同用户对系统的访问权限...
4. **会话管理**:验证成功后,通常会创建一个会话(Session)以跟踪用户状态。会话对象可以存储用户信息,避免频繁查询数据库,提高性能。 5. **安全性**:用户登录涉及敏感信息,因此必须确保数据传输的安全。...
对于会话跟踪,Session和Cookie是两种常见机制。Session可以在多个Servlet之间共享,而Cookie用于在客户端保存状态,如果希望Cookie在浏览器关闭后仍然有效,需要设置其过期时间。 总之,J2EE是一个强大的平台,它...
用户信息通常存储在数据库中,并通过Session进行会话跟踪。 - **书籍展示**:系统提供书籍分类、搜索功能,用户可以按类别或关键词查找感兴趣的书籍。 - **购物车**:用户可以将选中的书籍加入购物车,购物车信息...
4. **会话管理**:问卷调查可能涉及到用户登录和状态跟踪,因此会话管理是关键。J2EE提供HttpSession接口,用于存储用户的会话信息,确保用户在填写问卷过程中的数据安全。 5. **数据持久化**:数据库用于存储问卷...
当用户浏览网站时,服务器会为每个会话创建一个唯一的session ID,并将其存储在用户的浏览器cookie中,这样服务器就能识别并跟踪用户的购物车。 文件列表中只给出了"gwc",这可能是项目的主要或核心模块,包含实现...