Jsp的本质就是Servlet,开发者编写的Jsp文件将由Web容器编译成对应的Servlet,当Servlet在容器中运行时,其实例的创建和销毁都不是由程序员决定的,而是由WEb容器进行控制的。
创建Servlet有两个时机:
1.客户端第一次请求某一个Servlet时,系统创建该Servlet的实例,大部分的Servlet都是这种Servlet。
2.WEB应用启动时立即创建Servlet实例 ,即load-start-servlet。
每个Servlet的运行都遵循以下的生命周期
1.创建Servlet实例
2.Web容器调用Servlet的init方法,对Servlet进行初始化
3.Servlet初始化之后将会一直存在于容器中,用于响应客户端请求。如果客户端发送get请求,容器则调用doGet方法处理并响应请求;如果客户端发送post请求,容器则调用Servlet中的DOPOST方法处理并响应请求。或者使用统一的service()方法处理响应客户请求。
4.WEb容器决定销毁Servlet时,先调用Servlet的destroy()方法,通常在关闭Web应用的时候会销毁Servlet。