问题: 由于项目需要整合CS和BS架构,需要在BS架构中启动CS页面. CS架构的页面为while循环线程,如果在Tomcat监听启动时启动CS页面会导致Tomcat阻塞, 最终导致启动超时~
监听介绍: Tomcat的ServletContextListener监听(contextInitialized:启动监听; contextDestroyed:停止监听).
解决方法: 在启动监听中new新线程.
代码部分:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class WebInitListener implements ServletContextListener{
/**
* 初始化方法
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Tomcat服务器开启!");
new MyThread().start();
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Tomcat服务器停止!");
}
//定义一个线程
class MyThread extends Thread {
public void run() {
System.out.println("CS页面服务启动~");
//具体启动的业务
}
}
}