Servlet的生命周期,并说出Servlet和CGI的区别?
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由javax.servlet.servlet接口中的init、service、destroy方法表达。
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现
根据请求的不同调用不同的do**()方法。结束服务,web容器调用servlet的destroy()方法。
区别:
Servlet处于服务器进程中,它通过多线程运行service()方法,一个实例可以服务于多个请求,并且实例一般不会被销毁;而
CGI对每个请求都产生一个新的进程,服务完成后就销毁,所有效率低于Servlet。