Servlet是一种运行于服务器端的java应用程序,具有独立于平台和协议的特性,并可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。servlet由包含java虚拟机的web服务器(如Tomcat)进行加载并运行,运行机制如下图:
当客户机发送请求到服务器时,服务器可以将请求信息发送给servlet,并让servlet建立起服务器返回给客户机的响应。当启动web服务器或客户机第一次请求服务时,可以自动装入servlet。装入后servlet继续运行直到web服务器关闭。
1.servlet的生命周期
servlet的生命周期始于它被装入web服务器的内存开始,并在web服务器终止或重新装入结束。servlet一旦被装入web服务器,一般不会从web服务器内存中删除,直至web服务器关闭或者重新启动结束(但不排除web服务器做内存回收动作时,servlet有可能被删除),也由于这个原因,第一次访问servlet程序时所用时间开销要大大多于以后访问所用的时间。
servlet容器完成加载servlet类和实例化一个servlet对象后,init()方法完成初始化工作,该方法由web服务器调用完成;service()方法处理客户端请求,并返回响应结果;destroy()方法在web服务器卸载servlet之前被调用,释放一些资源。