php获取jsp的session的值,在JSP或Servlet中获取session数量
enums=ul.getUserList();
int?i=0;
while(enums.hasMoreElements())
{
out.println(enums.nextElement());
out.println("????");
if(++i==10)
{
out.println("
");
}
}
out.println("
當前在線的用戶數:"+i);
out.println("
退出登錄");
out.close();
}
}
public?void?doPost(HttpServletRequest?req,?HttpServletResponse?resp)
throws?ServletException,IOException
{
doGet(req,resp);
}
}
***********?LogoutServlet.java?************
package?org.sunxin.lesson.jsp.ch09.online;
import?javax.servlet.*;
import?java.io.*;
import?javax.servlet.http.*;
public?class?LogoutServlet?extends?HttpServlet
{
public?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp)
throws?ServletException,IOException
{
resp.setContentType("text/html;charset=gb2312");
HttpSession?session=req.getSession();
User?user=(User)session.getAttribute("user");
session.invalidate();
PrintWriter?out=resp.getWriter();
out.println("");
out.println(user.getName()+",你已退出登錄
");
out.println("重新登錄");
out.println("");
out.close();
}
}
***********?User.java?************
package?org.sunxin.lesson.jsp.ch09.online;
import?javax.servlet.http.HttpSessionBindingListener;
import?javax.servlet.http.HttpSessionBindingEvent;
public?class?User?implements?HttpSessionBindingListener
{
private?String?name;
private?UserList?ul=UserList.getInstance();
public?User()
{
}
public?User(String?name)
{
this.name=name;
}
public?void?setName(String?name)
{
this.name=name;
}
public?String?getName()
{
return?name;
}
public?void?valueBound(HttpSessionBindingEvent?event)
{
ul.addUser(name);
}
public?void?valueUnbound(HttpSessionBindingEvent?event)
{
ul.removeUser(name);
}
}
***********?UserList.java?************
package?org.sunxin.lesson.jsp.ch09.online;
import?java.util.Vector;
import?java.util.Enumeration;
public?class?UserList
{
private?static?final?UserList?userList=new?UserList();
private?Vectorv;
private?UserList()
{
v=new?Vector();
}
public?static?UserList?getInstance()
{
return?userList;
}
public?void?addUser(String?name)
{
if(name!=null)
v.addElement(name);
}
public?void?removeUser(String?name)
{
if(name!=null)
v.remove(name);
}
public?EnumerationgetUserList()
{
return?v.elements();
}
public?int?getUserCount()
{
return?v.size();
}
}
****************************
Java代碼的思路是將所有登陸用戶放到集合中。
用戶登陸成功就添加到用戶列表,用戶退出就從用戶列表中移出。
lz?注意User類所實現的接口以及其中以下兩個方法:
//對象被綁定到session中時通知該對象
public?void?valueBound(HttpSessionBindingEvent?event)
{
ul.addUser(name);
}
//從session中刪除對象時通知該對象
public?void?valueUnbound(HttpSessionBindingEvent?event)
{
ul.removeUser(name);
}
【編輯推薦】
【責任編輯:王觀 TEL:(010)68476606】
點贊 0
總結
以上是生活随笔為你收集整理的php获取jsp的session的值,在JSP或Servlet中获取session数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机四级的英文,计算机四级考试中英文术
- 下一篇: php铺满,重复铺满水印 - Jun.