`
lancijk
  • 浏览: 390202 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java Web 同一个用户名不能同时登陆的思路

    博客分类:
  • Java
阅读更多

 

 

情况之一:第一个用户等陆了,不允许第二个用户登录。
情况之二:第一个用户登录了,第二个用户登录挤掉第一个。
针对于第一种情况,可以在数据库设置用户状态,也可以在缓存,这个很容易实现,现在讨论浏览器异常关闭
的情况如何处理
可以考虑以下3个方法:
1。session失效,实现比较简单,也很保险,但缺点是实时性太差。
2。ajax轮询,也就是在客户端写个定时器,定时通过ajax方式发送一个信号到服务端,当服务端过了最大时间都没有接收到信号说明客户端已经关闭。
3。客户端用一个脚本监测是否关闭

window.onbeforeunload = function onunload_handler(){
 //浏览器关闭的时候会执行到此处
  //处理用户信息,使之变成离线状态
}


 

IE fireFox支持

 

关于第二种情况:可以通过管理session来实现,后一次登录的获得前一次登录的session,并主动让其失效,因为这个失效是瞬间的,所以前面登录的用户被挤掉了。

这个主要是做一个session监听,对所有有效的session进行管理,就是把他们保存在全局变量中,并让它跟当前的用户绑定在一起,下一次这个用户可以根据userId之类的信息找到上次登录但还没失效的session,并让其失效

分享到:
评论
2 楼 lancijk 2011-12-13  
jhkim 写道
你好,能有代码例子吗,谢谢


  这个demo 目前 自己没有 留哈. 当时是给公司做的. 其实这个 目前有更好的替代方案. 可以结合 memcached 来作. 这样不管是做没做分布式 都是OK的.  其实不需要想的太复杂.  就是 一个 sesion 全局保留就可以了.  再一个 就是浏览器异常关闭的时候 按照我给的方法处理就好.. 至于具体实现. 你可以有多种方法的. 不需要纠结用哪种.  而且我之前的做法对系统的性能损耗可能会大点.  所以推荐用缓存来坐.
1 楼 jhkim 2011-11-29  
你好,能有代码例子吗,谢谢

相关推荐

    java Web 同一个用户名同时登陆处理(全部五篇文档)

    java Web 同一个用户名不能同时登陆的思路 .doc java web开发一个帐号同一时间只能一个人登录 .doc java web中实现同一帐号同一时间只能一个地点登陆(类似QQ登录的功能).doc java中如何实现同一账号不能同时登录....

    基于java web开发的mes生产制造系统

    基于java web开发的mes生产制造系统,该系统基于ssm框架开发,系统功能包括:系统管理、车间基础数据建模、计划管理、物料控制、生产执行、质量管理、库存管理、看板管理、数据分析等主体功能模块。广泛应用于汽车、...

    java web图书网

    【Java Web图书网】是一个基于Java Web技术实现的在线图书购物平台,主要涵盖了Web开发的基础原理和技术实践。这个项目不仅提供了用户浏览、搜索和购买图书的功能,还包含了后台管理系统,以便于管理员对图书信息、...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    Java Web应用开发:用户退出.docx

    这一功能是Web应用程序中非常常见且重要的一个环节,它不仅提高了用户体验,还增强了系统的安全性。 #### 二、实现思路 为了实现上述目标,我们需要按照以下步骤进行: 1. **添加退出登录链接**:在登录成功后的...

    基于java web的在线考试系统源码.zip

    本篇将深入探讨一个基于Java Web技术实现的在线考试系统的源码,帮助读者理解其背后的编程逻辑和设计思路。 首先,Java Web是一种广泛应用于开发Web应用的技术,它结合了Java语言的强大功能与Web应用的灵活性。Java...

    java web考试之编程大题-----列出用户信息

    【标题】"java web考试之编程大题-----列出用户信息"揭示了这道编程题目的核心,即在Java Web环境中实现用户信息的列举功能。Java Web是Java技术在Web开发中的应用,它包括Servlet、JSP(JavaServer Pages)、JSTL...

    Java web页面设计

    当用户输入的用户名或密码不正确时,需要将请求重定向到一个错误提示页面,并且在该页面停留10秒后自动返回到登录页面。这一过程涉及到以下几个关键步骤: - **前端表单验证**:确保表单数据的有效性,如非空检查。...

    Java Web高级编程任务书.pdf

    Java Web高级编程任务书主要涉及了两个项目:通信录管理和图书管理系统。这两个项目都是为了让学生掌握Java Web开发的高级技术,特别是使用Struts2框架。以下是相关知识点的详细说明: 1. **Struts2框架**:Struts2...

    Java+web 图书馆里系统代码和实验报告

    本项目“Java+Web 图书馆管理系统”是一个针对图书馆日常运营的高效解决方案,适用于毕业设计和大型课程作业,其核心亮点在于集成了实验报告及推荐算法功能,旨在提升图书借阅服务的智能化水平。 一、Java Web基础 ...

    java源码包2

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包3

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

    基于Java Web的智慧医疗问诊系统设计与实现.pdf

    基于Java Web的智慧医疗问诊系统是一项结合了现代信息技术与医疗服务的创新应用,旨在提高医疗资源的利用率、优化医疗服务质量、改善患者就医体验,并降低医院运营成本。该系统采用Java语言开发,利用MySQL数据库...

    java web 图书管理系统,课程设计

    本项目是一个基于Java Web的图书管理系统,旨在提供一个高效、便捷的图书借阅与管理平台。下面我们将详细介绍这个系统的设计思路、技术选型以及核心功能。 1. **系统架构** - **MVC模式**:本系统采用经典的Model-...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

    Java Web应用开发:用户登录.docx

    本项目旨在开发一个具备基本用户登录功能的Java Web应用程序,具体目标包括: 1. **未登录状态:** 在页面的左侧显示登录表单,允许用户输入用户名和密码。用户提交表单后,系统将验证输入的有效性。若登录信息无效...

    java Web实现用户登录功能.txt

    - 创建一个 Java Enterprise 项目,并添加 Web Application 功能。 - 设置项目的名称和保存位置。 - 修改 Artifact 名称为 `LoginDemo01`。 2. **创建登录页面** - 编写一个名为 `login.jsp` 的 JSP 文件,包含...

    Java web开发技术期末大作业-汽车租赁系统

    以上是对《Java Web开发技术》期末大作业——汽车租赁系统的详细解析,涵盖了项目的目标、功能模块、数据库设计以及关键JSP页面的设计思路。通过本项目的实践,不仅能够加深对Java Web技术的理解,还能提升解决实际...

    Java Web应用开发:用户注册.docx

    ### Java Web应用开发:用户注册知识点详解 ...通过以上步骤,我们可以构建一个完整的用户注册系统,该系统不仅实现了用户信息的有效收集,还确保了数据的安全性和一致性,为后续的功能扩展打下了坚实的基础。

Global site tag (gtag.js) - Google Analytics