java中有一些接口可以实现某些事件的监听,如session的创建与销毁,服务器的启动与退出等,这个网上很容易查到,也很简单,就是一个类加上一行配置代码就可以实现了~~~
贴下我的代码:
package com.system.control;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.bean.object.CellMessage;
public class ServerListener implements ServletContextListener {
private ServletContext context = null;
public void contextInitialized(ServletContextEvent event)
{
System.out.println("Server started!");
context = event.getServletContext();
MessageQueue messageQueue = new MessageQueue();
CellMessage message1 = new CellMessage();
message1.setMessage_id(1);
message1.setType("CustomizationMessage");
message1.setFileName("message1");
message1.setNext(message1);
message1.setPrevious(message1);
messageQueue.add(message1);
context.setAttribute("messageQueue", messageQueue);
}
public void contextDestroyed(ServletContextEvent event)
{
context = event.getServletContext();
MessageQueue messageQueue = (MessageQueue)context.getAttribute("messageQueue");
messageQueue.display();
System.out.println("Server closed!");
}
}
它实现了ServletContextListener接口,在服务器初始化时调用contextInitialized()方法,退出时调用contextDestroyed()方法.另外稍微解释下ServletContext,它的对象可以理解成服务器端的Application对象,
可以用来保存信息以方便服务器端的共享,最后,别忘了在web.xml中加入一行配置信息:
<listener> <listener-class>com.system.control.ServerListener</listener-class> </listener>
就这么简单~~~