Servlet对象:Servlet对象属于单实例,在程序运行结束之前,缓存中只有一个对象存在。
public TestServlet() {//用于为成员变量赋值,会触发对象创建
super();
System.out.println("TestServlet"+this);
}
默认情况下,第一次使用该Servlet时创建该对象;如果在web.xml添加<load-on-startup>1</load-on-startup>
,则Servlet对象随着Tomcat的启动而创建。
init()方法:Servlet对象创建后,用于获取初始化的web.xml数据,该方法执行。由于Servlet对象属于单实例,创建对象时只会创建一次,因此该方法只会执行一次。
@Override
public void init() throws ServletException {
super.init();
System.out.println("init"+this);
}
service()方法:用于处理请求,任何请求优先到达,进而通过该方法确定执行doGet还是doPost。
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
super.service(arg0, arg1);
System.out.println("service"+this);
}
destory()方法:在Servlet对象被销毁之前调用,用于释放资源,由于Servlet对象是单实例,仅创建一次,所以该方法只执行一次,也在Tomcat服务器关闭时调用。
@Override
public void destroy() {
super.destroy();
System.out.println("destory"+this);
}