首頁技術文章正文

Java培訓之GenericServlet類(一)

更新時間:2017-05-31 來源:黑馬程序員Java培訓學院 瀏覽量:

1.GenericServlet原理分析

GenericServlet類是一個抽象類,并且是Servlet接口的實現(xiàn)類,HttpServlet類的父類,下面我們通過一張圖來更直觀的了解GenericServlet的類結構,如圖1-1所示:
1553762046290_1496215450588012508.png通過圖1-1發(fā)現(xiàn),GenericServlet類不僅實現(xiàn)了Servlet接口,還實現(xiàn)了ServletConfig接口。因此,在GenericServlet類中一定包含Servlet接口和ServletConfig接口的所有方法.。接下來,我們創(chuàng)建一個類來模擬GenericServlet的功能,詳情請參考GenericServlet案例詳解,點擊此處 下載源代碼。
(1)創(chuàng)建應用Example11,新建一個類MyServlet,該類實現(xiàn)了Servlet接口,具體代碼如例1-1所示:
例1-1 MyServlet.java
public class MyServlet implements Servlet {
    /*
     * 成員變量config
     * */
     private ServletConfig config;
     public void init(){}
    @Override
    public void destroy() {
       System.out.println("destroy run......");
    }
    /*
     *  返回config,該方法一定在init方法之后執(zhí)行
     * */
    @Override
    public ServletConfig getServletConfig() {
       return config;
    }
    @Override
    public String getServletInfo() {
       return "MyServlet....";
    }
/*
 * init()方法是這些方法中,最先被調用的,在本類構造方法執(zhí)行后執(zhí)行.
 * */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        /*
         * 將服務器創(chuàng)建的servletConfig對象賦值給本類的成員變量config,方便在其他方法中使用
         * */
       this.config=servletConfig;
           init();
    }
    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
           throws ServletException, IOException {
       System.out.println("service run ......");     
    }
    /*
     * 獲得Servlet的初始化參數(shù)
     * */
    public String getInitParameter(String name){
       return this.config.getInitParameter(name);
    }
    /*
     * 獲得ServletContext對象
     * */
    public ServletContext getServletContext(){
       return this.config.getServletContext();
    }
    public String getServletName(){
       return this.config.getServletName();
    }
}

本文版權歸黑馬程序員Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓學院
首發(fā):http://javaee.itheima.com/
分享到:
在線咨詢 我要報名
和我們在線交談!