Servlet是一个接口
实现Servlet有三种方式:
1)实现javax.servlet.Servlet接口;(爷爷类)
2)继承javax.servlet.GenericServlet类; (父亲类) (GenericServlet类是抽象类)
3)继承javax.servlet.http.HttpServlet类; (儿子类)
通常我们会去继承HttpServlet类来完成我们的Servlet,但学习Servlet还要从javax.servlet.Servlet接口开始学习。
为什么要去继承HttpServlet类来完成我们的Servlet?
理解:子类要比父类强壮。一代要比一代强。子类要比父类专一(HttpServlet针对对Http协议),所以可以只继承儿子类 即可。
学习Servlet的方法:(五个方法,其中三个是生命周期方法)
-----Servlet的大多方法不用程序员调用,而是由Tomcat调用。
-----Servlet的对象也不由程序创建,而是由Tomcat创建。
public interface Servlet {
public void init(ServletConfig config) throws ServletException; // 生命周期方法1:在客户端第一次请求时,new对象之后,只执行1次
public ServletConfig getServletConfig(); // 获取配置信息ServletConfig
public void service(ServletRequest req, ServletResponse res) // 生命周期方法2 : 每次处理请求都是在调用这个方法,多次
throws ServletException, IOException;
public String getServletInfo(); // Servlet信息,可不用
public void destroy(); // 生命周期方法3 : 在Tomcat服务器关闭前,执行destroy()方法【该方法不会销毁Servlet对象,只是发出信息】,只执行1次
}