java判断用户是否在线_Java 判断用户是否在线

/**//*

* onLineUser类实现HttpSessionBindingListener接口

* onLineUser类将具有HttpSessionBindingListener接口的特有属性

* 那么HttpSessionBindingListener接口的特有属性是什么呢?

* HttpSessionBindingListener接口具有的两个空函数

* public void valueBound(HttpSessionBindingEvent e)

* public void valueUnBound(HttpSessionBindingEvent e)

*

* onLineUser实现一些方法:获取在线用户数

*

*/

import javax.servlet.http.*;

import java.util.*;

public class OnLineUser implements HttpSessionBindingListener{

public OnLineUser(){

}

private Vector users=new Vector();

public int getCount(){

users.trimToSize();//调整Vector users的容量为Vector users的大小

return users.capacity();//返回users的容量

}

public boolean existUser(String userName){

users.trimToSize();

boolean existUser=false;

for (int i=0;i

{

if (userName.equals((String)users.get(i)))

{

existUser=true;

break;

}

}

return existUser;

}

public boolean deleteUser(String userName){

users.trimToSize();

if(existUser(userName)){

int currUserIndex=-1;

for(int i=0;i

if(userName.equals((String)users.get(i))){

currUserIndex=i;

break;

}

}

if (currUserIndex!=-1){

users.remove(currUserIndex);

users.trimToSize();

return true;

}

}

return false;

}

public Vector getOnLineUser()

{

return users;

}

public void valueBound(HttpSessionBindingEvent e) ...{

users.trimToSize();

System.out.println("请求:::::::::::"+e.getName());

if(!existUser(e.getName())){

users.add(e.getName());

System.out.print(e.getName()+" 登入到系统 "+(new Date()));

System.out.println(" 在线用户数为:"+getCount());

}else{

System.out.println(e.getName()+"已经存在");

}

}

public void valueUnbound(HttpSessionBindingEvent e) ...{

users.trimToSize();

String userName=e.getName();

deleteUser(userName);

System.out.print(userName+" 退出系统 "+(new Date()));

System.out.println(" 在线用户数为:"+getCount());

}

}

login.jsp 清单:

测试HttpSessionBindingListener接口

logout.jsp清单:

搞定JSP在线人数

登陆成功,欢迎您访问!

String username=request.getParameter("username");

if(username!=null&&onlineuser.deleteUser(username)){

out.println(username+"已经退出系统!");

session.removeAttribute(username);

out.println("");

}else{

out.println(username+"已经退出系统!");

out.println("");

}

%>

elapsed制作

退出系统

onLineUser.jsp清单

搞定JSP在线人数

登陆成功,欢迎您访问!

String username=request.getParameter("username");

if (onlineuser.existUser(username)){

out.println("用户"+username+"已经登陆!");

}else{

session.setMaxInactiveInterval(600);//Sesion有效时长,以秒为单位

session.setAttribute(username,onlineuser);

out.println("欢迎新用户:"+username+"登陆到系统!");

}

out.println("
当前在线用户人数:"+onlineuser.getCount()+"
");

Vector vt=onlineuser.getOnLineUser();

Enumeration e = vt.elements();

out.println("在线用户列表");

out.println("

out.println("

用户名");

/*while(e.hasMoreElements()){

out.println("

");

out.println((String)e.nextElement()+"
");

out.println("

");

}

下面的方法也是可以的,这两种方法都是可行的,其实Iterator是Enumeration的子类

*/

for(Iterator it=vt.iterator();it.hasNext();){

out.println("

");

out.println((String)it.next()+"
");

out.println("

");

}

out.println("

");

%>

elapsed制作

out.println("

退出系统

");

%>

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-07-10 22:38

浏览 8865

评论

1 楼

makemyownlife

2010-11-21

恩 我先好好看看那

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 判断文件是否为图片可以通过文件的后缀名、文件的魔数或者使用第三方库来实现。 1. 通过文件后缀名判断 通常情况下,图片文件的后缀名都是特定的,例如 `.jpg`, `.png`, `.gif` 等等,可以通过判断文件的后缀名是否为这些类型来判断文件是否为图片。 示例代码如下: ```java public static boolean isImageBySuffix(String fileName) { String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); if ("jpg".equalsIgnoreCase(suffix) || "png".equalsIgnoreCase(suffix) || "gif".equalsIgnoreCase(suffix) || "bmp".equalsIgnoreCase(suffix)) { return true; } return false; } ``` 2. 通过文件魔数判断 文件魔数是文件头部的一些固定字节,可以用来标识文件的类型。不同类型的文件魔数不同,可以通过读取文件的头部字节来判断文件类型。 示例代码如下: ```java public static boolean isImageByMagicNumber(String filePath) throws IOException { FileInputStream fis = new FileInputStream(filePath); byte[] bytes = new byte[8]; fis.read(bytes, 0, 8); fis.close(); // JPEG、PNG、GIF、BMP、TIFF等文件格式的魔数 if ((bytes[0] == (byte) 'G' && bytes[1] == (byte) 'I' && bytes[2] == (byte) 'F') || (bytes[0] == (byte) 0xff && bytes[1] == (byte) 0xd8) || (bytes[0] == (byte) 0x89 && bytes[1] == (byte) 'P' && bytes[2] == (byte) 'N' && bytes[3] == (byte) 'G') || (bytes[0] == (byte) 'B' && bytes[1] == (byte) 'M') || (bytes[0] == (byte) 'I' && bytes[1] == (byte) 'I' && bytes[2] == (byte) 'C' && bytes[3] == (byte) 'O')) { return true; } return false; } ``` 3. 使用第三方库判断 可以使用第三方库来判断文件是否为图片,例如 Apache Commons IO 库中的 `FilenameUtils#isExtension` 方法。 示例代码如下: ```java public static boolean isImageByThirdParty(String fileName) { String[] extensions = {"jpg", "jpeg", "png", "gif", "bmp"}; return FilenameUtils.isExtension(fileName.toLowerCase(), extensions); } ``` 以上是三种判断文件是否为图片的方法,可以根据具体需求选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值