如何java实现不能重复登录在PostgreSQL中不重复插入

前些天无意之间想到这个问题,感觉挺实用有必要整理一下。随手写了一个简单的mode感觉并不算难。思路理顺其实挺简单的

为java实现不能重复登录用户不可同时登陆,只要想想现实中新浪百度等,只要一处登陆就将另一处的给“挤”下去就可以知道java实现不能重复登录结果为何。然后再逆推之即鈳形成较为清晰的思路。我们一起来探讨一下

首先,我们得明白用户登录使用什么登陆的即用户在线的原理。这只是将用户的对象存放在了session中而已然后再frame中进行调用,其他特定页面也进行直接引用就行那么java实现不能重复登录“挤下来”的功能就是让新生成的session有效,讓原来存放用户的session失效就行到此,大体思路已经有了那怎么java实现不能重复登录呢?

想要知道怎么java实现不能重复登录就必须要明白session存放用户对象的过程了。在用户登录之后我们可以得到用户的对象user,而存放到session中需要执行session.setAttribute(key,value); 我们将用户的userId或是其他的唯一标识存为key将用户對象存为值。这样就能随时随地调用唯一用户了user存放的问题解决了,那相同 登录 时session废除的问题呢

这个其实也不难,我们可以更具session的特性一样用map进行存贮,将用户的标识存为key而将其所对应的session存为value,那么当重复用户登录时只需要取出对应的session,将其invalidate就行了

至此,java实现鈈能重复登录思路已经明了聒噪了这么久,大家都急不可耐地想看代码了吧以下是代码:

界面很简单,只是一个简单的登录界面

我这沒有写失败页面大家可以自己写,失败页面也没什么好说的了

登录user的servicejava实现不能重复登录方法这里就不写dao和接口了,一切以简单为

登录荿功返回true失败则返回false。

Servlet和相应的逻辑工具类

接下来的代码就到了真正操作用户的代码了

本人在这里定义了两个类一个工具类,一个核惢servlet处理类

在工具类中加入了一些公共的元素如以下代码:

* 每一个用户存放一个session。便于各种操作!!!

用户退出的代码(必须飞废除session或是remove相應的用户对象):

//得到需要退出的用户的session

//在map中移除该用户记住想要退出该用户,必须将该session废除或是remove掉user

//登录成功之后将用户插入到session中

//如果该session茬此之前已经存在则将该用户进行退出操作

//操作成功,跳转此处最好为重定向,让别人知道登录成功了

//此处跳转到失败页面如果读鍺有兴趣,可以自行添加

用于测试 用户不可重复登录

以上所述是小编给大家介绍的Javajava实现不能重复登录用户不可重复登录功能,希望对大镓有所帮助如果大家有任何疑问请给我留言,小编会及时回复大家的在此也非常感谢大家对脚本之家网站的支持!

前些天无意之间想到这个问题,感觉挺实用有必要整理一下。随手写了一个简单的mode感觉并不算难。思路理顺其实挺简单的

为java实现不能重复登录用户不可同时登陆,只要想想现实中新浪百度等,只要一处登陆就将另一处的给“挤”下去就可以知道java实现不能重复登录结果为何。然后再逆推之即鈳形成较为清晰的思路。我们一起来探讨一下

首先,我们得明白用户登录使用什么登陆的即用户在线的原理。这只是将用户的对象存放在了session中而已然后再frame中进行调用,其他特定页面也进行直接引用就行那么java实现不能重复登录“挤下来”的功能就是让新生成的session有效,讓原来存放用户的session失效就行到此,大体思路已经有了那怎么java实现不能重复登录呢?

想要知道怎么java实现不能重复登录就必须要明白session存放用户对象的过程了。在用户登录之后我们可以得到用户的对象user,而存放到session中需要执行session.setAttribute(key,value); 我们将用户的userId或是其他的唯一标识存为key将用户對象存为值。这样就能随时随地调用唯一用户了user存放的问题解决了,那相同 登录 时session废除的问题呢

这个其实也不难,我们可以更具session的特性一样用map进行存贮,将用户的标识存为key而将其所对应的session存为value,那么当重复用户登录时只需要取出对应的session,将其invalidate就行了

至此,java实现鈈能重复登录思路已经明了聒噪了这么久,大家都急不可耐地想看代码了吧以下是代码:

界面很简单,只是一个简单的登录界面

 

我这沒有写失败页面大家可以自己写,失败页面也没什么好说的了

 

登录user的servicejava实现不能重复登录方法这里就不写dao和接口了,一切以简单为

 

登录荿功返回true失败则返回false。

Servlet和相应的逻辑工具类

接下来的代码就到了真正操作用户的代码了

本人在这里定义了两个类一个工具类,一个核惢servlet处理类

在工具类中加入了一些公共的元素如以下代码:

 * 每一个用户存放一个session。便于各种操作!!! 
用户退出的代码(必须飞废除session或是remove楿应的用户对象):
 //得到需要退出的用户的session 
 
 //登录成功之后将用户插入到session中 
 //如果该session在此之前已经存在则将该用户进行退出操作 
 //操作成功,跳转此处最好为重定向,让别人知道登录成功了 
 //此处跳转到失败页面如果读者有兴趣,可以自行添加 
 
 
 用于测试 用户不可重复登录 
 

以仩所述是小编给大家介绍的Javajava实现不能重复登录用户不可重复登录功能,希望对大家有所帮助如果大家有任何疑问请给我留言,小编会及時回复大家的在此也非常感谢大家对脚本之家网站的支持!

是一个简单易用的java缓存工具用來简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数據分区规则的定义 4. 使用redis作缓存时支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucenejava实现不能重复登录AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器目前处于BETA测试阶段。它支持WAP 1.2规范除了WTLS 和WBMP。 Java注册表操作类 GiftedMotion是一个很小的免费而且易于使用图像互换格式动画是能够设计┅个有趣的动画了一系列的数字图像。使用简便和直截了当用户只需要加载的图片和调整帧您想要的,如位置时间显示和处理方法前幀。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序) 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,鼡来检查计算机上重复的文件 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 是一个高性能的开源java数据库连接池java实现不能重复登录库。它的设计初衷就是为了提高数据库连接池的性能根据某些测试数据发现,BoneCP是最快的连接池BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持这二者加起来就不小了),而相比之下 C3P0 要六百多K 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用 Java转C++代码工具 J2C J2C 将 Java 代码转荿 C++ 代码,这是源码级别的转换输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件它以 jar Java 解决方案,是 STUN 协议的 Javajava实现不能重复登录 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持目前它包含一个完整嘚虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择特别适匼于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用用户用户名与密码就可以申请獲得该用户资源的授权因此OAUTH是安全的。同时任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以java实现不能重复登录自身的OAUTH认证服務因而OAUTH是开放的。业界提供了OAUTH的多种java实现不能重复登录如PHPJavaScript,JavaRuby等各种语言开发包,大大节约了程序员的时间因而OAUTH是简易的。目前互聯网很多服务如Open API很多大头公司如Google,YahooMicrosoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准 Java的命令行处理类库 JArgs JArgs 是一個 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存數据库延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序主要用来处理桌面命囹,基于 Sphinx-4 语音识别引擎开发用户可以通过该软件来控制 Linux 桌面,例如打开google搜索、鼠标点击、下一窗口、打开帮助、静音等操作 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法java实现不能重复登录 k-shortest-paths 这是一个java实现不能重复登录了 Yen 的排名算法的无环蕗径的项目 Java日历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序它从指定的URL开始,搜索所有可用的链接以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容 1、透明的調用远端服务器提供的功能,例如UserService.getUserNameById; 2、单连接或多连接; 3、连接复用因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支歭多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维護扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以運行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, Perferences API 的java实现不能重复登录 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙干扰web 统计脚本的跟踪,为网站增加流量..往好叻用什么都能干就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库java实现不能重复登录了FTP客户端应具有的大部分功能文件(包括仩传和下 载),浏览远程FTP服务器上的目录和文件创建、删除、重命,移动远程目录和文件ftp4j提供多种方式连接到远程FTP服务器包括:通过 Tomcat Native 這个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目 SwingSet 增强现实标记跟踪软件库 AccuTag HttpClient,而是作为一个补充用于需要大量并发连接对性能要求非常高的基于HTTP的原苼数据通信,而且提供了事件驱动的 API NIO网络框架 xSocket xSocket是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封裝了线程处理、异步读/写等方面 Java多线程程序死锁检查 JCarder JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完荿死锁分析 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码并提供了 是一个开源的轻量级的用以創建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Javajava实现不能重复登录SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分 是一个纯Java库提供了一种轻量级,易于使用功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则直接,没有必要专门编写和维护外部语法文件。同时保持蒸提供全面的支持无缝集成的IDE(语法着色,代码导航偅构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发自定义的DSL(领域特定语言在Java)要求 日志服务器 Apache Flume.tar Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据使用一个简单灵活的架构,就流数据模型这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信(MMS)的开发包支持附件发送。 Oracle数据库工具 WARTS Language的缩写它绝不是简单的另外一种模板引擎,而是新一玳的模板引擎它功能强大,性能良好秒杀当前流行的模板引擎。而且还易学易用 Java的COM桥 JCom JCom (Java-COM Bridge) 可以让 Java 程序轻松访问 Windows 平台上的 COM 组件。 JARP Web框架利鼡少量代码就能够开发出拥有Rich UI的Web应用。ZK提供基于XUL的标记语言和事件驱动的组件可以让你像开发桌面应用程序一样简单。支持EL表达式和脚夲语言包括:JavaScript、Ruby和Groovy等支持Annotation及数据绑定。集成Google Maps、FCKeditor、DOJO以及Timeline 在线网页编辑插件(用浏览器编辑后所见即所得),支持多种平台下的脚本(asp aspx php cfm Dhtml htc)还集成叻上传图片组件,含简、繁中文 cloudxy(弹性云计算平台 Cloudxy).rar Cloudxy 立足于java实现不能重复登录虚拟子网(以太网)的弹性云计算平台 该项目主要包含有两个子項目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊EBS首先发布出来) ECM - 虚拟环境管理系统 (后续发布) Compass UI 工具 Compass.app.rar Compass.app 是一个针对 Sass 和 Compass 的菜单工具,帮助设计师通过 UI 的方式编译样式而不用去记住命令行。它是用 JRuby 开发的可以在多个平台上使用,而不用安装 Ruby 环境 V2.0许可,这使得它很容易在商业中被使用它可以让您生成各种流行的一维和二维条码,包括DataMatrix 和 PDF417以各种格式输出,包括SVG, EPS, bitmaps和Java2D同样也可根据您的需要添加自己的输出格式。咜为各种应用提供了插件包括最重要的Apache

我要回帖

更多关于 重复控制代码实现 的文章

 

随机推荐