servlet执行原理

一.表述

servlet不能单独存在,必须被部署到Servlet容器中,由容器进行实例化并调用其方法,Servlet容器是Web服务器或javaee服务器的一部分,负责在servlet的生命周期内管理servlet
servlet的生命周期定义了一个servlet如何被加载和初始化,怎样接受请求,响应请求和提供服务以及被卸载等。
可分为四个阶段:
1.加载与实例化:servlet容器负责加载与实例化servlet,在默认情况下,第一次请求访问某个servlet时,容器就会创建一个相应的Servlet实例(即进行实例化)
2.初始化:在servlet实例化之后,容器就会调用servlet的init()方法初始化该实例。
3.处理请求:servlet容器调用servlet实例的sevice()方法对请求进行处理。在service()方法中,servlet通过servletrequest对象得到客户端的相关信息与请求信息,在对请求进行处理后,再调用servletresponse对象的方法设置响应信息。
4.终止服务:当web应用被终止,或web应用重新启动,或servlet容器终止运行,或servlet容器重新装载servlet的新实例时,容器就会调用实例的destroy()方法释放该servlet的资源,完成卸载过程

二.流程

servlet执行原理