`
zjx2388
  • 浏览: 1328913 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

某人关于不重复登录的简单处理说明

    博客分类:
  • J2SE
阅读更多

1.用的是servlet的监听器:
(1)用的是HttpSessionListener 这个监听器下有两个方法sessionCreated和sessionDestroyed,当有session创建时就调用
   sessionCreated这个方法,当有session失效的时候调用sessionDestroyed这个方法。
(2)程序启动时,开辟一块内存空间,来存储在线用户。(我用了个静态的map),map中存的是username和sessionid
(3)当有用户登录时,先用用户名去map中取,如果取出的sessionid为空,添加到map中,相反则返回登陆页,告知用户已登录。
(4)当有用户退出是分两种情况:一是单击退出按钮这个好捕捉,清空session。二是用户直接关闭浏览器,这个在页面中用了一个window.onbeforeunload事件,来清空session。(这个是一个弊端,我这个页面有个公用的页面加一个就好了,但是如果没有公用的页面,在添加这个事件就要每个页面都要添加,本来浏览器关闭后会session会自动失效不知道为什么没有调用监听器的sessionDestroyed方法(考虑中),考虑更好的方法。)
(5)当用户单击刷新按钮时,会重新运行程序,此时这个用户已经存储在静态的map中了,这样用户会被踢下线,而且只有等到session消失时才能在登录(解决方法,刷新时用户的sessionid是不变的,在这比较一下用户的此时的sessionid和存储的sessionid如果相等则也可登录)

分享到:
评论

相关推荐

    八年级英语上册Unit7Willpeoplehaverobots知识点归纳练习新版人教新目标版

    - 句子4说明机器人可以协助汽车制造并重复简单的任务。 - 句子5预测未来人类将避免做无聊的工作,而机器人不会感到厌倦。 - 句子6展示了科学家正试图让机器人模仿人类并执行与我们一样的任务。 通过学习这些知识...

    选票表格模板.doc

    在IT领域,虽然这个话题可能与传统的技术内容不太相关,但它仍然可以关联到数据处理、信息管理和决策支持系统。例如,使用电子表格软件(如Microsoft Excel)可以更高效地创建、管理和分析这样的投票数据,而投票...

    英语口语突破 228句

    29. "Something's come up." 说明有突发事件或事情需要处理。 30. "Let's get to the point." 要求直接进入主题,不浪费时间。 31. "Keep that in mind." 提醒对方记住某个重要事项。 32. "That was a close call." ...

    2011年英语专业八级翻译辅导:容易误译的英语.pdf

    [说明]pull someone's leg是英语中的习惯表达,意味着开玩笑或戏弄某人,而非字面上的拉扯腿。这些例子展示了英语翻译中理解固定短语、俚语和口语表达的重要性。在翻译时,必须注意这些特定的短语,因为它们往往有...

    自考计算机信息系统设计与分析2134

    计算机信息系统设计与分析知识点总结 本资源摘要信息将对计算机信息系统设计与分析的相关知识...输入设计的原则包括最小量原则和简单性原则,保证满足处理要求的前提下使输入量最小,输入的准备、输入过程应尽量容易。

    日历panel上的每日签到功能

    // 如果样式是 mydate,说明没有签到,可以绑定签到事件,不可重复签到 $(".mydate").click(function () { var date = $(this).attr("day"); var year = $(this).attr("year"); // 后台处理签到 $.post(url, ...

    英语常用介词固定搭配大全.doc

    40. **at sb.'s disposal** - 全权交由某人处理,意为“由某人支配,由某人使用;由某人做主”。 41. **at the cost of** - 付出代价,意为“以…为代价”。 42. **at the same time** - 同时进行,也可表示转折,...

    Python必背词汇-UNIT4(106单词).pdf

    8. **illustrate**:说明,用例子或图像解释概念。 9. **singleton**:单例,在面向对象编程中,保证一个类只有一个实例的模式。 10. **mutable**:可变的,形容可以修改的对象,如列表、字典。 11. **...

    用来脱口而出的100个精典句子

    - **解析**:表示无法联系到某人,“我联络不上他!”用于描述尝试联系但未果的情况。 #### 42. I cross my heart! - **解析**:表示真诚承诺,“我发誓是真的!”用于保证所说为真。 #### 43. I don't mean it! -...

    程序员常用计算机专业英语

    - **名词**: 集合(set)是一种数学概念,表示不重复元素的无序组合。在编程中,集合常被用来处理数据结构问题。 #### 9. key - **名词**: - 键:键盘上的物理按键。 - 关键字:在编程语言中具有特殊含义的保留...

    数据结构(C++)有关练习题

    从键盘输入数据,建立数据文件student.dat,然后,利用C++编程完成如下处理: (1)对学生姓名或学号进行查询,显示其信息 。 (2)对所有学生,按班级计算每一科平均成绩。 (3)分别按英语、数学、程序设计...

Global site tag (gtag.js) - Google Analytics