生命周期:通俗来说就是从出生到死亡。(从创建到销毁)
对象的生命周期:对象创建到销毁的过程
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>