tomcat 启动初始化一个线程

web.xml:


<listener>
<listener-class>com.fk.MyServletContentListener</listener-class>
</listener>



listener:


public class MyServletContentListener implements ServletContextListener {

ServerThread st = null;

public void contextInitialized(ServletContextEvent sce) {
// 重写的contextInitialized方法
sce.getServletContext().log("[fiker.Server] Start ServerThread.");

st = new ServerThread();
st.start();

sce.getServletContext().log("[fiker.Server] ServerThread starting succ...");
}

public void contextDestroyed(ServletContextEvent sce) {
// 重写的contextDestroyed方法
sce.getServletContext().log("[fiker.Server] Stop ServerThread.");

st.setFlag(false);

sce.getServletContext().log("[fiker.Server] ServerThread stop succ...");
}


}





serverThread:
public class ServerThread extends  Thread {
private boolean flag=true;
ServerSocket ss;
public void run(){
try {
ss=new ServerSocket(9999);
} catch (IOException e) {
// TODO Auto-generated catch block
this.setFlag(false);
e.printStackTrace();
}
Socket s;
while(flag)
{
try {
s=ss.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
this.setFlag(false);
e.printStackTrace();
}
}

}
public void setFlag(boolean flag) {
this.flag = flag;
}

}

你可能感兴趣的:(thread,xml,Web,socket,listener)