destroy:在servlet销毁(服务器关闭)时调用。
init:在servlet创建时调用,默认第一次访问的时候被调用,但也可以通过配置可以实现服务器启动时调用,创建的对象会被缓存起来。
init方法中的参数:
public void init(ServletConfig config) throws ServletException {
//config 获取配置信息
//1.获取servlet名称 web.xml
String name = config.getServletName();
System.out.println(name);
//2.初始化参数init-param:init-name、init-value
config.getInitParameter("a");
//3.获取上下文ServletContext
config.getServletContext();
}
service:每次发送请求时调用,每发送一次请求就调用一次。
doPost和doGet内部调用流程
当接收到一个请求时,tomcat会找到对应的service方法。
如果servlet当中没有service方法,就会到它的父类中找。在父类中找到service参数是ServletRequest,会在内部把参数转为httpServlet。
转换完毕后,会继续调用参数为httpServletRequest的service方法,在此方法中会获取参数类型,根据不同的参数类型调用不同的方法。