天天看點

Servlet的三種建立方式及servlet解析

關于servlet的建立,我們有三種方式。

我們先來看第一種,實作Servlet接口。

因為是實作servlet接口,是以我們需要實作接口裡的方法。

下面我們也說明了servlet的執行過程,也就是servlet的生命周期。

//Servlet的生命周期:從Servlet被建立到Servlet被銷毀的過程
//一次建立,到處服務
//一個Servlet隻會有一個對象,服務所有的請求
/*
 * 1.執行個體化(使用構造方法建立對象)
 * 2.初始化  執行init方法
 * 3.服務     執行service方法
 * 4.銷毀    執行destroy方法
 */
public class ServletDemo1 implements Servlet {

    //public ServletDemo1(){}

     //生命周期方法:當Servlet第一次被建立對象時執行該方法,該方法在整個生命周期中隻執行一次
    public void init(ServletConfig arg0) throws ServletException {
                System.out.println("=======init=========");
        }

    //生命周期方法:對用戶端響應的方法,該方法會被執行多次,每次請求該servlet都會執行該方法
    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        System.out.println("hehe");

    }

    //生命周期方法:當Servlet被銷毀時執行該方法
    public void destroy() {
        System.out.println("******destroy**********");
    }
//當停止tomcat時也就銷毀的servlet。
    public ServletConfig getServletConfig() {

        return null;
    }

    public String getServletInfo() {

        return null;
    }
}
           

建立servlet的第二種方法,繼承GenericServlet類,它實作了Servlet接口除了service的方法。

不過這種方法我們極少用

public class ServletDemo2 extends GenericServlet {

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        System.out.println("heihei");

    }
}
           

建立servlet的第三種方法,也是我們經常用的方法

繼承HttpServlet方法

這裡隻簡單講servlet的三種建立方式,關于更詳細的應用我們後面再說。

public class ServletDemo3 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("haha");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("ee");
        doGet(req,resp);
    }

}