简单模拟。

一、思路

(1)写一个简单的表单提交,用来设置cookie的值

(2)写一个servlet,用来返回cookie值

实验效果:

如果在没有cookie的情况下访问这个页面,将直接重定向到登录页面。

如果在有cookiename = cookie的情况下访问这个页面,则会显示 i am cookie-value。

(3)那么纯静态页面(无表单)怎么正确处理cookie,实现自动登录呢?

需要使用jquery的一个插件,jquery.cookie.js:http://plugins.jquery.com/cookie/

写一个页面:

改写servlet:

实现效果:

按下get cookie可以获取cookie name为cookie的值:

可以发现,只要浏览器有了cookie之后,每次访问服务器就会带上这个cookie,自动登录可以通过这个道理实现。

cookie的流程大致如下:

  1. 浏览器没cookie。
  2. 第一次访问服务器。
  3. 服务器根据各种条件生成一个/n个cookie。
  4. 返回信息给浏览器,同时返回cookie。
  5. 浏览器根据cookie种类不同保存cookie。
  6. 浏览器有cookie。
  7. 浏览器带上cookie第二次访问服务器。
  8. 服务器获取cookie进行各种操作。

那么自动登录的流程就是稍微加强一下:

  1. 浏览器没cookie。
  2. 第一次提交账号密码表单访问服务器。
  3. 服务器根据各种条件(账号,邮箱…)加密生成一个/n个登录验证cookie。
  4. 返回信息给浏览器,同时返回cookie。
  5. 浏览器根据cookie种类不同保存cookie。
  6. 浏览器有cookie。
  7. 浏览器带上登录验证cookie第二次访问服务器。
  8. 服务器获取登录验证cookie,服务器获取账号信息(有可能通过cookie获得账号之类的东西)加密,进行比对。
  9. 正确,直接返回登录状态。
  10. 错误,返回到登录页面,需要重新登录获取cookie。

大概就是这个样子…

二、总结

之后将会提供具体实现方法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注