社区
Java EE
帖子详情
200分求够单点登陆的思路和例子!求求求求!!!!!
cool_woman
2005-03-06 03:05:55
200分求够单点登陆的思路和例子!
...全文
254
2
打赏
收藏
200分求够单点登陆的思路和例子!求求求求!!!!!
200分求够单点登陆的思路和例子!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kingofvc
2005-03-06
打赏
举报
回复
考虑JSR168 的portal
portal的一个特征就是sso
congbailing_914
2005-03-06
打赏
举报
回复
package com.test;
import javax.servlet.http.*;
import java.util.*;
public class SessionListener implements HttpSessionListener{
private static HashMap hUserName = new HashMap();//保存sessionID和username的映射
/**以下是实现HttpSessionListener中的方法**/
public void sessionCreated(HttpSessionEvent se){
}
public void sessionDestroyed(HttpSessionEvent se){
hUserName.remove( se.getSession().getId() );
}
/*
* isAlreadyEnter-用于判断用户是否已经登录以及相应的处理方法
* @param sUserName String-登录的用户名称
* @return boolean-该用户是否已经登录过的标志
*/
public static boolean isAlreadyEnter(HttpSession session,String sUserName){
boolean flag = false;
if(hUserName.containsValue(sUserName)){//如果该用户已经登录过,则使上次登录的用户掉线(依据使用户名是否在hUserName中)
flag = true;
//遍历原来的hUserName,删除原用户名对应的sessionID(即删除原来的sessionID和username)
Iterator iter = hUserName.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
if( ( (String)val ).equals(sUserName) ){
hUserName.remove(key);
}
}
hUserName.put( session.getId(),sUserName );//添加现在的sessionID和username
System.out.println("hUserName = " + hUserName);
}
else{//如果该用户没登录过,直接添加现在的sessionID和username
flag = false;
hUserName.put( session.getId(),sUserName );
System.out.println("hUserName = " + hUserName);
}
return flag;
}
/*
* isOnline-用于判断用户是否在线
* @param session HttpSession-登录的用户名称
* @return boolean-该用户是否在线的标志
*/
public static boolean isOnline(HttpSession session){
boolean flag = true;
if( hUserName.containsKey( session.getId() ) ){
flag = true;
}
else{
flag = false;
}
return flag;
}
}
web.xml部署于/App/WEB-INF下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
<web-app>
<listener>
<listener-class>
com.inspirer.dbmp.SessionListener
</listener-class>
</listener>
</web-app>
应用部分
1.在你的登录验证时,调用SessionListener.isAlreadyEnter(session,"admin")
既可以判断该用户名的用户是否登录过,又可以使上次登录的用户掉线
2.其他页面调用SessionListener.isOnline(session),可以判断该用户是否在线.
【MySQL】C语言连接MySQL
想必大家在学校也学习过MySQL,可能学的懵懵懂懂,这个板块我们从入门开始,从最新的安装MySQL到学习MySQL语句,一步一步开始,一切都是新的,新的板块新的开始,大家一起努力,一起进步!!!二初始化 MYSQL 结构体指针 – mysql_init。连接 MySQL – mysql_real_connect:需要指定数据库服务所在主机、端口以及登录mysql的用户和密码等信息。下发 MySQL 指令 – mysql_query。
Navicat 连接 MySQL
Navicat 是一套快速、可靠和全面的数据库管理工具,专门用于简化数据库管理和降低管理成本。
MySQL内连接、外连接、全连接
用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。MySQL版本:Server数据库表:a_table、b_table主题:内连接、左连接(左外连接)、右连接(右外连接)、全连接(全外连接)
mysql 全连接_MySQL连接查询
数据库在我们的测试工作中,用到最频繁的就是查询了,而在查询中又数连接查询使用最多,对于小白来说连接查询又是他们的难点,本文就MySQL中的连接查询,单独给大家科普一下。大家都知道,在项目中的数据组成往往是复合的,所以单独的一张表中的数据难以支撑数据的完整显示,所以这个时候就需要用到连接查询,把多个表中的数据联合起来显示,以达到我们的预期。接下来我们分别学习内连接、左\右外连接、全连接。l...
MySQL 内连接、外连接、全连接
图片与最后一部分来自:https://blog.csdn.net/plg17/article/details/78758593 已有如下表 rollcall 数据表 course 数据表 内链接 inner join 语句: select 表1查询的字段,表2查询的字段 from 表1 inner join 表2 on 条件; 如: mysql> select a.*,b.* from...
Java EE
67,535
社区成员
225,843
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章