servlet 中的 <load-on-startup> 配置
来源:互联网 发布:金融行业的数据分析 编辑:程序博客网 时间:2024/06/05 19:33
需求: 当我们的网站启动的时候,可能会要求初始化一些数据,(比如创建临时表), 在比如:
我们的网站有一些要求定时完成的任务[ 定时写日志,定时备份数据.. 定时发送邮件..]
解决方法: 可以通过<load-on-startup> 配合 线程知识搞定.
先说明<load-on-startup>: 通过配置<load-on-startup> 我们可以指定某个Servlet 自动创建.
我们来模拟一个定时发送电子邮件的功能:
实现思路:
sendEmailTable
id content sendtime
1 “hello” 2011-11-11 20:11
2 “hello2” 2012-11-11 10:00
看看如何线程去完成任务:
这里的代码请参考项目:
SendMailThread.java
package com.hsp.model;
public class SendEmailThread extends Thread{
@Override
public void run() {
int i=0;
try {
while(true){
//每休眠一分钟,就去扫表sendmail,看看那份信件应当被发出
Thread.sleep(10*1000);
System.out.println("发出第"+(++i)+"邮件");//javamail
}
} catch (Exceptione) {
e.printStackTrace();
// TODO: handle exception
}
}
}
MyInitServlet1.java
public void init() throwsServletException {
// Putyour code here
System.out.println("MyInitServlet1的init被调用..");
//完成一些初始化任务
System.out.println("创建数据库,表,读取参数");
//创建一个线程
SendEmailThread sendEmailThread=new SendEmailThread();
sendEmailThread.start();
}
1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
5)当值相同时,容器就会自己选择顺序来加载。
所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。
说明:
<!-- 1表示该servlet被 init的顺序 -->
<load-on-startup>1</load-on-startup>
删除掉url的映射:
加入标签:
程序结果图:
- servlet 中的 <load-on-startup> 配置
- servlet中的<load-on-startup>配置
- Servlet配置load-on-startup
- servlet配置load-on-startup的作用
- servlet配置load-on-startup的作用
- servlet配置load-on-startup的作用
- servlet配置load-on-startup的作用
- servlet中的load-on-startup的含义
- Servlet load-on-startup
- load-on-startup Servlet
- load-on-startup 配置
- J2EE中web.xml配置servlet的load-on-startup
- Servlet的配置参数load-on-startup参数理解
- Servlet的配置参数load-on-startup参数理解
- web.xml中Servlet配置<load-on-startup>的作用
- Servlet配置信息与load-on-startup 创建
- Servlet细节———< load-on-startup >配置
- servlet load-on-startup的作用
- 什么是响应式布局?
- C语言学习笔记——动态内存分配
- 四川温江中等卫生职业学校
- mac ctags安装
- Windows CE5.0 BSP移植
- servlet 中的 <load-on-startup> 配置
- Java 嵌套类和内部类示例<二>
- Windows CE内核启动分析
- 设计模式——工厂模式(方法模式)
- Deep Learning(深度学习)学习笔记整理系列之(八)
- hdu 3746 Cyclic Nacklace (kmp算法)
- 字符类型转化
- MYSQL 连接中断次数限制 mysql:is blocked because of many connection errors解决方案
- Windows三种内存分配机制