WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 在用户访问 GoFor-It.com 站点的过程中,存储在会话中的信息一直是可用的,Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态(4),除非我们需要除去某些数据或破坏整个会话,这使得我们的其中一个要求易于管理,

在用户访问 GoFor-It.com 站点的过程中,存储在会话中的信息一直是可用的,除非我们需要除去某些数据或破坏整个会话。这使得我们的其中一个要求易于管理。

虽然这看起来是理所当然的 ― 我们要确保 GoFor-It.com 站点在每次用户从一个页面移到另一个页面时不用一个接一个的登录屏幕麻烦他们。我们需要确保有效的用户得到他们需要的页面,但不必在每次他们请求一个页面时都提示用户名和密码 ― 每个会话只提示一次。 当用户登录时,我们将一些已知信息存储在会话中。在每次请求页面时,我们查找那些存储在会话中的信息。如果信息“不”在那儿(或者在本例中,会话本身从未被创建),我们知道用户尚未登录,并让它们转到登录页面。否则,我们就让用户得到请求的页面,如下所示。


Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态

当一个新用户向我们的系统注册时,我们并非真的需要重新验证该用户。如果他们只是注册,我们知道了他是谁,并且在注册后,立即存储用户信息,我们就可以绕过登录页面了。就象您在条形码上按下手印,为了回去,您需要显示这个印记或出示某个标识。我们知道一个用户是不是有效用户的唯一方法是他是否具有能通过数据库(标识),或临时会话信息(邮戳)验证的用户名和密码。通过这两种验证中的任一种,临时的“访问标识”都能够使用户更快地进入。

存储的信息可以是 Java 中任何类型的对象。我们可以存储一个名为 userLoggedIn的字符串并赋予它值 youBetcha,然后只需检查此字符串确认它获取了这个值。但是, 我们只能用此信息来给予用户访问权。由于我们在访问的整个过程中可能一直需要一些那种信息,在 GoFor-It.com 项目中我们将整个用户对象自身存储起来,就象把用户的名字放在一些页面或预先批量载入的表单上一样。它占用服务器上的一些内存,但却使用户心情愉快很多(还有可能用于不涉及用户的功能更强大的方法)。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接