我这有端jsp代码 高手给讲讲

来源:百度知道 编辑:UC知道 时间:2024/05/23 15:02:21
synchronized(application)
{
Vector ListUser=null;
ListUser =(Vector)application.getAttribute("UserName");

if(ListUser !=null)
for(int i=0;i<ListUser.size();i++)
{
String User= (String)ListUser.get(i);
User=new String(User.getBytes("iso-8859-1"),"GBK");
out.println("["+User+"]");

作用是聊天室显示在线用户。大概意思就是将UserName放到Vector里完了循环打印出来把,可是我的UserName通过什么能得到呢?如何将每一个登陆进来的用户的用户名写入Attribute中呢?
users.add(登陆的用户名);
登陆的用户名是什么?
一个变量还是?

这里的application实际上是pageContext,相当于全局变量,
而UserName对应的是一个Vector对象,里面包含多个用户名(名字起得不够科学)
在jsp页面中可以这样操作
用户登陆成功后
List users =(Vector)pageContext.getAttribute("UserName");
if(users==null)
{
users=new Vector();
pageContext.setAttribute("UserName",users);
}
users.add(登陆的用户名);

获取所有登陆的用户名:
List users =(Vector)pageContext.getAttribute("UserName");

我觉得这里还不够完善,当用户退出登陆时,应该将其删除,呵呵,这很简单了

用户提交表单至A.JSP
String usreName = request.getParameter("userName");

Vector Users = null;
Users = application.getAttribute("UserName");
if(Users == null){
Users = new Vector();
}
Users.add(userName);