servlet 是sun公司制定的一种用于扩展web服务器功能的组件(符合一定规范,实现了部分功能的软件模块)。
servlet 需要部署到相应的容器(符合一定规范,提供组件运行环境的程序)中才能运行。
servlet 生命周期:
1.实例化:容器创建servlet对象
a.默认情况下,容器收到请求时创建servlet对象 b.在web.xml配置文件中配置<load-on-startup>参数后,容器将在启动后立即创建servlet对象 注意:默认情况下,某类型的servlet对象在容器中以单例形式存在。2.初始化:在创建servlet对象后会立即调用init(ServletConfig config)方法初始化(只调用一次)
a.一般情况下不写init()方法,因为GenericServlet(抽象类)已经提供了init()方法的实现。b.可以根据需求重写init()方法实现自己的初始化处理逻辑。
3.就绪:容器调用servlet对象的service(ServletRequest req,ServletResponse res)方法来处理请求
a.HttpServlet已经提供了service()方法的实现,根据请求类型分别调用doGet或doPost方法。
4.销毁:容器在删除servlet对象前,会先调用该对象的destroy方法(只执行一次)。
a.一般情况下不写destroy()方法,因为GenericServlet已经提供了destroy()方法的实现。b.可以根据需求重写destroy()方法实现自己的销毁处理逻辑。