在论坛、社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁,让用户下线,那用java要怎么实现这个功能呢?下面来我们就来给大家讲解一下java让用户下线的方法。
第一步:自建一个继承自HttpSessionListener的 监听器
package com.zhph.util; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; /** * session 监听事件 * @author HAXF010 * */ public class SessionHelper implements HttpSessionListener { /* Session创建事件 */ public void sessionCreated(HttpSessionEvent event) {} /* Session失效事件 */ public void sessionDestroyed(HttpSessionEvent event) { SessionLockHelper.moveSession(event.getSession()); } }
第二步:在web.xml中配置第一步创建的监听类 ; SessionHelper 是自己的监听类
<listener > <listener-class>com.zhph.util.SessionHelper</listener-class> < /listener>
第三步:创建工具类 SessionLockHelper.java
package com.zhph.util; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpSession; import com.zhph.vo.LoginUser; public class SessionLockHelper { public static Mapmap = new HashMap(); //添加session到集合;用户的id 作为 session 的 key public static void putSession(HttpSession session) { LoginUser user = (LoginUser) session.getAttribute("user"); map.put(user.getId(), session); } public static void moveSession(HttpSession session) { LoginUser user = (LoginUser) session.getAttribute("user"); map.remove(user.getId()); } //让对应用户的会话失效 public static void destroyedSession(LoginUser user) { System.out.println("会话失效了。"); HttpSession session = map.get(user.getId()); session.invalidate(); } }
第四步:当用户登录成功时调用 SessionLockHelper.putSession(HttpSession session)方法。
第五步:对于要强制注销的用户调用SessionLockHelper.destroyedSession(LoginUser user)方法。
第六步:用户所有的请求的拦截器判断获取到当前用户的Session 都获取不到了,然后代码跳转到登录页面;
java应用领域有哪些?
1. 大型网站,主要使用JAVA EE,最有名例子就是电子商务交易平台阿里巴巴,淘宝,京东。
2. 大型企业级应用,主要使用JAVA EE,比如大型企业管理系统,CRM系统,ERP系统2.1有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是JAVA2.2有关金融行的大型企业,所有的银行、证券公司,互联网金融; 2.3大型管理系统,如:供应链,客户管理系统,物流系统等;
3.电子政务,主要使用JAVA EE,相关的政府部门绝大多数的信息化系统是JAVA开发的;
4.游戏,很多手机游戏都是用JAVA开发的。包括大型网游的后台数据统计都是java。
5. 嵌入式设备及消费类电子产品,主要用 JAVA ME,无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是比较热门的Java应用领域,这方面的应用例子有中国联通CDMA 1X网络中基于Java技术的无线。
除了以上,java还可以应用于游戏、大数据中等,总之java的应用领域还是很广的,另外,java让用户下线可以参考以上的方法,简单的说,就是让Session失效。最后大家如果想要了解更多java实例知识,敬请关注奇Q工具网。
推荐阅读:
geojson怎么快速获取xy?GeoJSON 是什么格式?