思路:

在每个页面上都引入一个 jsp,这个 jsp 可以是页面的头 head 或者脚 footer.jsp

然后在这个 jsp 中引入 一个 js,这个 js 中 有个 随页面加载 而执行的 方法,

这个方法就是向后台发送 ajax 的 jsonP 请求,请求参数就是  cookie 中的 token。

后台根据 token 到 redis 中查询用户,如果查询到,则将用户信息返回,展示到 前台,若没有查到,则不做任何事。

因为每个页面上都引入了上面的 jsp和js 所以,每次只要有页面跳转,就会向后台发送请求,查询当前 token 对应的用户信息,所以每个页面上都会显示当前登录的用户名。

未登录时效果:

登录后的效果:

taotao的具体实现:

比如在商品详情页面 item.jsp 中就加入了 footer.jsp

然后在 footer.jsp 中引入了 taotao.js :

taotao.js 代码:

var TT = TAOTAO = {
checkLogin : function(){
var _ticket = $.cookie("TT_TOKEN");
if(!_ticket){
return ;
}
$.ajax({
url : "http://localhost:8084/user/token/" + _ticket,
dataType : "jsonp",
type : "GET",
success : function(data){
if(data.status == 200){
var username = data.data.username;
// var html = username + ",欢迎来到淘淘!<a href=\"http://www.taotao.com/user/logout.html\" class=\"link-logout\">[退出]</a>";
var html = username + ",欢迎来到淘淘!<a href=\"http://localhost:8084/page/logout/"+_ticket+"\" class=\"link-logout\">[退出]</a>";
$("#loginbar").html(html);
}
}
});
}
} $(function(){
// 查看是否已经登录,如果已经登录查询登录信息
TT.checkLogin();
});

其中的

var _ticket = $.cookie("TT_TOKEN");

是 jquery 操作 cookie 的方法,可以百度 $.cookie 参考相关文档。

最新文章

  1. JQuery基本知识框架思维导图(上)
  2. 剔除eclipse的configuration目录[转]
  3. ajax的探究与使用
  4. Visible 绑定
  5. 面试题_76_to_81_Java 最佳实践的面试问题
  6. 显示 EXCEL 的页签列表
  7. WinForm窗体之间传值
  8. c++ 正則表達式
  9. Python高手之路【十三】socket网络编程
  10. CSS grayscale滤镜+SVG使图片变黑白实例页面
  11. HTML元素解释
  12. UE4 编译笔记
  13. Java实现字符串倒序输出的几种方法
  14. QQ分享登陆报错
  15. 基于GTK+3 开发远程控制管理软件(C语言实现)系列三 Windows7开发环境搭建
  16. 【bzoj3172】 Tjoi2013—单词
  17. django邮件
  18. 关于 [TNS-12516 TNS:listener could not find instance with matching protocol stack ]
  19. AngularJs 指令实现选项卡
  20. Android服务--布局服务(LayoutInflater)

热门文章

  1. python2.7入门---面向对象
  2. Nginx一直报504超时,配置相关参数好了
  3. PHP.43-TP框架商城应用实例-后台18-商品属性3-库存量管理
  4. xss挑战赛小记 0x01(xsstest)
  5. 实用脚本 4 -- Makefile(不同文件下的多个可执行文件or静态库编译到同一目录下)
  6. php之apc浅探
  7. Percona-Tookit工具包之pt-mysql-summary
  8. Ajax请求被缓存的几种处理方式
  9. Julia 学习笔记(一):数组
  10. BZOJ 2946 POI2000 公共串 后缀自动机(多串最长公共子串)