004_LoadOnStartup

1. 新建一个LoadOnStartup的Web项目

2. 在WebContent下新建一个index.html

3. 编写index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>Life Cycle</title>
	</head>
	<body>
		<h1>Life Cycle</h1>
	</body>
</html>

4. 新建一个LoadOnStartup.java类

5. 编写LoadOnStartup.java

package com.lywgames.myservlet;

import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LoadOnStartup implements Servlet {
	public LoadOnStartup(){
		System.out.println("LoadOnStartup");
	}
	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println("LoadOnStartup init");
	}
	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("LoadOnStartup service");
	}
	@Override
	public void destroy() {
		System.out.println("LoadOnStartup destroy");
	}
	@Override
	public ServletConfig getServletConfig() {
		return null;
	}
	@Override
	public String getServletInfo() {
		return null;
	}
}

6. 在web.xml里配置servlet, 注意配置

<load-on-startup>10</load-on-startup>

7. 运行项目, 在Tomcat7启动之前就打印了我们的构造方法和init方法

8. 使用load-on-startup元素可以在把init方法提早到加载项目的时候调用

8.1. 默认情况下, 只有在初次访问servlet的时候, 才会执行init方法。 有的时候, 我们可能需要在这个方法里面执行一些初始化工作, 甚至是做一些比较耗时的逻辑。

8.2. 那么这个时候, 初次访问, 可能会在init方法中逗留太久的时间。 那么有没有方法可以让这个初始化的时机提前一点。

8.3. 在配置的时候, 使用load-on-startup元素来指定, 给定的数字越小, 启动的时机就越早。其中1、3、4和5已经被Tomact占用, 我们可以选择从10开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值