如何获得服务器所有的session
1个回答
展开全部
一定可以的。只要你的服务器没关。那么就可以获得在线的人数。(一人对应一个session)。没错的。我以前就做了一个在线聊天系统。用到了这个。 追问: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.net.InetAddress"%><%List<HttpSession> l=new ArrayList<HttpSession>();
if(application.getAttribute("s1")==null)
application.setAttribute("sl",l);else{l=( List<HttpSession> )application.getAttribute("sl");}session.setAttribute("u","游客");
l.add(session);
for(int i=0;i<l.size();i++){
if(l.get(i)==null){
l.remove(i);}}application.setAttribute("sl",l);
%>我这样写的 判断以前的session是否为空 为空就清除掉 回答: 是的。思路差不多就是这样的,不过。你那个判断session是否为空的可以不必要,。因为session既然在集合中。那么它就一定不为空。 追问: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.net.InetAddress"%><%List<HttpSession> l = new ArrayList<HttpSession>();
if (application.getAttribute("sl") == null)
application.setAttribute("sl", l);else {l = (List<HttpSession>) application.getAttribute("sl");}session.setAttribute("u", "游客"); boolean x = false;
for (int i = 0; i < l.size(); i++) { if (l.get(i) == null) {
l.remove(i);} }for (int i = 0; i < l.size(); i++) { if (l.get(i).equals(session)) {x = true;break;} }if (x == false) {
<%@page import="java.net.InetAddress"%><%List<HttpSession> l=new ArrayList<HttpSession>();
if(application.getAttribute("s1")==null)
application.setAttribute("sl",l);else{l=( List<HttpSession> )application.getAttribute("sl");}session.setAttribute("u","游客");
l.add(session);
for(int i=0;i<l.size();i++){
if(l.get(i)==null){
l.remove(i);}}application.setAttribute("sl",l);
%>我这样写的 判断以前的session是否为空 为空就清除掉 回答: 是的。思路差不多就是这样的,不过。你那个判断session是否为空的可以不必要,。因为session既然在集合中。那么它就一定不为空。 追问: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.net.InetAddress"%><%List<HttpSession> l = new ArrayList<HttpSession>();
if (application.getAttribute("sl") == null)
application.setAttribute("sl", l);else {l = (List<HttpSession>) application.getAttribute("sl");}session.setAttribute("u", "游客"); boolean x = false;
for (int i = 0; i < l.size(); i++) { if (l.get(i) == null) {
l.remove(i);} }for (int i = 0; i < l.size(); i++) { if (l.get(i).equals(session)) {x = true;break;} }if (x == false) {
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询