Servelt生命周期
生命周期:通俗来说就是从出生到死亡。(从创建到销毁)
对象的生命周期:对象创建到销毁的过程
servlet对象的创建:默认情况下是用户第一次请求这个Servlet的时候会被创建,当然也可以设置(配置)它的loadOnStartup属性,loadOnStartup=1只要是设置为正整数就会在服务器(tomcat)一启动就会创建
servlet如何处理用户请求:用户每一次请求都会(创建新的线程)执行servlet的service方法处理用户的请求 用户每一次请求---对应一个线程(tomcat帮你创建)
servlet对象销毁:servlet被销毁了之前调用 ,关闭服务器(tomcat)之前会调用这个destroy方法,关闭服务器的时候会自动调用这个destroy方法
注意:
1.Servelt对象是一个单例对象
2.每一次用户请求 -------- 一个线程
代码如下:
public class ServletDemo1 implements Servlet {
//servlet是一个单例对象
//servlet生命周期
//servlet初始化 对象创建之后会立马执行
//servlet默认情况下是在用户第一次去请求这个servlet请求的时候被创建,
// 创建的时候会执行init方法,init方法只会被执行一次,servlet只会被创建
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("servletDemo1被创建了");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//servlet的service方法:处理用户请求的方法(处理请求),每一次用户请求都会执行这个方法
//用户每一次请求都会创建新的线程去执行servlet里面的service方法处理请求
//用户每一次请求---对应一个线程(tomcat帮你创建)
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet..................");
}
@Override
public String getServletInfo() {
return null;
}
//servlet被销毁了之前调用
//关闭服务器(tomcat)之前会调用这个destroy方法,关闭服务的时候会自动调用这个destroy方法
@Override
public void destroy() {
System.out.println("servletDemo1被销毁了");
}
}
在web.xml中配置如下:
<servlet>
<servlet-name>ServletDemo1</servlet-name>
<servlet-class>com.swlz.web.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/servletDemo1</url-pattern>
</servlet-mapping>