美文网首页
利用ServletContextListener 和 Tomca

利用ServletContextListener 和 Tomca

作者: 来个第一次 | 来源:发表于2019-12-16 17:40 被阅读0次

    1、场景
    有时需要用tomcat做运行多线程的容器

    2、方法
    a、实现ServletContextListener接口,这个接口会监听servlet容器的启动和关闭事件
    b、在web.xml中配置listener,指向上面的实现类

    3、直接看代码
    web.xml中添加
    <listener>
    <listener-class>com.yaoguang.listener.CacheListener</listener-class>
    </listener>

    package com.yaoguang.listener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    public class CacheListener implements ServletContextListener {
    
        private boolean stop = false;
        private Thread t = null;
    
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            stop = false;
            outputMsg();
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            stop = true;
        }
    
        public void outputMsg() {
    
            t = new Thread(new Runnable() {
                @Override
                public void run() {
                    while (! stop) {
                        System.out.println("welcome to here");
                        try {
                            Thread.sleep(5000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            });
    
            t.start();
        }
    }
    

    4、结果


    image.png

    5、仓考资料


    image.png

    相关文章

      网友评论

          本文标题:利用ServletContextListener 和 Tomca

          本文链接:https://www.haomeiwen.com/subject/asmdnctx.html