Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态
2009-11-06 00:00:00 来源:WEB开发网在用户访问 GoFor-It.com 站点的过程中,存储在会话中的信息一直是可用的,除非我们需要除去某些数据或破坏整个会话。这使得我们的其中一个要求易于管理。
虽然这看起来是理所当然的 ― 我们要确保 GoFor-It.com 站点在每次用户从一个页面移到另一个页面时不用一个接一个的登录屏幕麻烦他们。我们需要确保有效的用户得到他们需要的页面,但不必在每次他们请求一个页面时都提示用户名和密码 ― 每个会话只提示一次。 当用户登录时,我们将一些已知信息存储在会话中。在每次请求页面时,我们查找那些存储在会话中的信息。如果信息“不”在那儿(或者在本例中,会话本身从未被创建),我们知道用户尚未登录,并让它们转到登录页面。否则,我们就让用户得到请求的页面,如下所示。
当一个新用户向我们的系统注册时,我们并非真的需要重新验证该用户。如果他们只是注册,我们知道了他是谁,并且在注册后,立即存储用户信息,我们就可以绕过登录页面了。就象您在条形码上按下手印,为了回去,您需要显示这个印记或出示某个标识。我们知道一个用户是不是有效用户的唯一方法是他是否具有能通过数据库(标识),或临时会话信息(邮戳)验证的用户名和密码。通过这两种验证中的任一种,临时的“访问标识”都能够使用户更快地进入。
存储的信息可以是 Java 中任何类型的对象。我们可以存储一个名为 userLoggedIn的字符串并赋予它值 youBetcha,然后只需检查此字符串确认它获取了这个值。但是, 我们只能用此信息来给予用户访问权。由于我们在访问的整个过程中可能一直需要一些那种信息,在 GoFor-It.com 项目中我们将整个用户对象自身存储起来,就象把用户的名字放在一些页面或预先批量载入的表单上一样。它占用服务器上的一些内存,但却使用户心情愉快很多(还有可能用于不涉及用户的功能更强大的方法)。
- ››Godaddy域名解析使用DNSPOD方法
- ››GOV.CN域名解析修改
- ››Google搜索引擎的奥秘
- ››Google测试搜索结果页面右侧内容更丰富的信息栏
- ››Google Dart精粹:应用构建,快照和隔离体
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Google Analytics(分析)能为网站带来什么
更多精彩
赞助商链接