servlet实例的创建方式:
1· 当客户端第一次请求某一个servlet时,系统创建该servlet实例;大部分的servlet都是这种servlet
2· web容器启动是立即创建servlet实例
一般应启动时就创建servlet通常适用于某些后台程序的servlet或者是拦截很多请求的servlet,这种servlet通常作为基础的servlet使用,提供后台服务
配置方式: load-on-startup
1· 在web.xml文件中通过<servlet />元素的<load-on-startup />子元素进行配置
例子:在web.xml中
<servlet>
<servlet-name>TimerServlet</servlet-name>
<servlet-class>lee.TimerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
此时不需要无需配置url映射表示不接收用户的请求
在web启动时进行实例化
2· 通过注解的方式i进行配置@WebServlet
例子:不响应用户请求,仅仅执行计时器的功能
@WebServlet(load-on-startup=1)
public Class TimerServlet extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
Timer t = New TImer(1000,new ActionListener{
public void actionPerformed(ActionEvent e){
logger.info(new Date());
}
});
}
}'
这个servlet未提供service方法表明不能接收用户请求。所以无需为他配置URL映射
由于不能接收用户请求所以只能在应用启动时实例化