您的位置:首页 > 其它

Tomact启动自动执行程序的三种方式

2017-09-14 00:12 399 查看
在这里总结一下,Tomact启动时候会加载的方法,我总结了三种:

监听分两种,一种是继承,另一种是实现接口。看代码(用的话可以直接这样用,原理区别随后会补充):

web.xml,三种方式都写在里边

<!-- 监听1 -->
<listener>
<listener-class>
code.main.startup.ContextLoaderListenerTest
</listener-class>
</listener>
<!-- 监听2 -->
<listener>
<listener-class>code.main.startup.AListener</listener-class>
</listener>
<!-- servlet方式 -->
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>code.main.startup.MyServlet</servlet-class>
<load-on-startup>2</load-on-startup><!--加这个标签,tomcat启动时会自动加载指定的servlet,值是servlet的加载顺序, 数字越小代表加载的优先级越高-->
</servlet>


代码1:

public class ContextLoaderListenerTest extends ContextLoaderListener {
/**
* @description 重写ContextLoaderListener的contextInitialized方法
*/
public void contextInitialized(ServletContextEvent event) {
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaa");
}
}


代码2:

/**
* ServletContext生死监听
* @author cxf
*
* 可以在这个监听器存放一些在tomcat启动时就要完成的代码!
*/
public class AListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("哇,我来也!");
}

@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("哇,我要挂也!");
}
}


代码3:

public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
Testq AA = new Testq();
}

/**
* 内部类---方便测试
*
* @author yhl
*
*/
class Testq {
{
test();
}

public void test() {
System.out.println("AAAAAAAAAAAAA");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐