JAVA SERVLET 关于监听的项目
题目:登录系统生成监听日志,怎么实现???我在网上找到一个代码不知道这个是不是实现的,有谁能帮我解答???package com.neusoft.trainjsp;
//举例说明:
//实现一个监听器:
// SessionListener.java
import java.io.*;
import java.util.*;
import javax.servlet.http.*;
//监听登录的整个过程
public class SessionListener implements HttpSessionBindingListener
{
public String privateInfo = ""; //生成监听器的初始化参数字符串
private String logString = ""; //日志记录字符串
private int count = 0; //登录人数计数器
public SessionListener(String info)
{
this.privateInfo = info;
}
public int getCount()
{
return count;
}
public void valueBound(HttpSessionBindingEvent event)
{
count++;
if (privateInfo.equals("count"))
{
return;
}
try
{
Calendar calendar = new GregorianCalendar();
System.out.println("LOGIN:" + privateInfo + " TIME:" + calendar.getTime());
logString = "\nLOGIN:" + privateInfo + " TIME:" + calendar.getTime() + "\n";
for (int i = 1; i < 1000; i++)
{
File file = new File("yeeyoo.log" + i);
if (!(file.exists()))
file.createNewFile(); //如果文件不存在,创建此文件
if (file.length() > 1048576) //如果文件大于1M,重新创建一个文件
continue;
FileOutputStream foo = new FileOutputStream("yeeyoo.log" + i, true);
//以append方式打开创建文件
foo.write(logString.getBytes(), 0, logString.length()); //写入日志字符串
foo.close();
break;//退出
}
}
catch (FileNotFoundException e)
{
}
catch (IOException e)
{
}
}
public void valueUnbound(HttpSessionBindingEvent event)
{
count--;
if (privateInfo.equals("count"))
{
return;
}
try
{
Calendar calendar = new GregorianCalendar();
System.out.println("LOGOUT:" + privateInfo + " TIME:" + calendar.getTime());
logString = "\nLOGOUT:" + privateInfo + " TIME:" + calendar.getTime() + "\n";
for (int i = 1; i < 1000; i++)
{
File file = new File("yeeyoo.log" + i);
if (!(file.exists()))
file.createNewFile(); //如果文件不存在,创建此文件
if (file.length() > 1048576) //如果文件大于1M,重新创建一个文件
continue;
FileOutputStream foo = new FileOutputStream("yeeyoo.log" + i, true);
//以append方式打开创建文件
foo.write(logString.getBytes(), 0, logString.length()); //写入日志字符串
foo.close();
break;//退出
}
}
catch (FileNotFoundException e)
{
}
catch (IOException e)
{
}
}
}
--------------------编程问答-------------------- 这个应该是可以的。
补充:Java , Web 开发