在javax.servlet.Servlet接口中有三个重要的方法,分别是init(),destroy(),service(),这三个方法分别对应Servlet生命周期的3个阶段,加上Servlet是一个java类,所以还有加载过程,所以一共是4个阶段,分别是加载,初始化,提供服务,销毁。
1.加载
加载指的是Servlet类加载到java虚拟机中,并且实例化,在这个过程中web容器会调用Servlet类的无参构造方法,产生一个实例对象,也就是由此对象提供服务,默认情况下啊,Servlet是在第一次请求的时候被加载,但是可以通过<load-on-startup>标签设置Servlet在web容器启动的时候加载,如果Servlet类没有提供无参构造方法或该方法不是公开的,将加载失败。
2.初始化
为Servlet对象做初始化工作,会调用init(()方法,可以获取配置在web.xml中的初始化参数;
3.提供服务
指当有HTTP请求指向Servlet时,调用service()方法,如果是继承自HttpServlet的话,根据HTTP请求类型的不同,业务逻辑代码会包含在doGet()或doPost()方法中;
4.销毁
销毁时会调用destroy()方法, 一般释放资源(如关闭数据源等)的代码会放在该方法中。