日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Servlet生命周期與工作原理

Servlet生命周期與工作原理

來源:程序員人生   發布時間:2015-05-21 08:42:55 閱讀次數:5476次

Servlet生命周期分為3個階段:

  1,初始化階段  調用init()方法

  2,響應客戶要求階段  調用service()方法

  3,終止階段  調用destroy()方法

Servlet初始化階段:

  在以下時刻Servlet容器裝載Servlet:

    1,Servlet容器啟動時自動裝載某些Servlet,實現它只需要在web.XML文件中的<Servlet></Servlet>之間添加以下代碼:

<loadon-startup>1</loadon-startup>

    2,在Servlet容器啟動后,客戶首次向Servlet發送要求

    3,Servlet類文件被更新后,重新裝載Servlet

  Servlet被裝載后,Servlet容器創建1個Servlet實例并且調用Servlet的init()方法進行初始化。在Servlet的全部生命周期內,init()方法只被調用1次。

    

Servlet工作原理:

  首先簡單解釋1下Servlet接收和響應客戶要求的進程,首先客戶發送1個要求,Servlet是調用service()方法對要求進行響應的,通過源代碼可見,service()方法中對要求的方式進行了匹配,選擇調用doGet,doPost等這些方法,然后再進入對應的方法中調用邏輯層的方法,實現對客戶的響應。在Servlet接口和GenericServlet中是沒有doGet,doPost等等這些方法的,HttpServlet中定義了這些方法,但是都是返回error信息,所以,我們每次定義1個Servlet的時候,都必須實現doGet或doPost等這些方法。

  每個自定義的Servlet都必須實現Servlet的接口,Servlet接口中定義了5個方法,其中比較重要的3個方法觸及到Servlet的生命周期,分別是上文提到的init(),service(),destroy()方法。GenericServlet是1個通用的,不特定于任何協議的Servlet,它實現了Servlet接口。而HttpServlet繼承于GenericServlet,因此HttpServlet也實現了Servlet接口。所以我們定義Servlet的時候只需要繼承HttpServlet便可。

  Servlet接口和GenericServlet是不特定于任何協議的,而HttpServlet是特定于HTTP協議的類,所以HttpServlet中實現了service()方法,并將要求ServletRequest,ServletResponse強轉為HttpRequest和HttpResponse。

public void service(ServletRequest req,ServletResponse res)
  throws ServletException,IOException
{
      HttpRequest request;
      HttpResponse response;
 
     try
     {
         req = (HttpRequest)request;
         res = (HttpResponse)response;
      }catch(ClassCastException e)
      {
         throw new ServletException("non-HTTP request response");
      }
      service(request,response);
}

    代碼的最后調用了HTTPServlet自己的service(request,response)方法,然后根據要求去調用對應的doXXX方法,由于HttpServlet中的doXXX方法都是返回毛病信息,

  • protected void doGet(HttpServletRequest res,HttpServletResponse resp)
      throws ServletException,IOException
    {
       String protocol = req.getProtocol();
       String msg = IStrings.getString("http.method_get_not_supported");
       if(protocol.equals("1.1"))
       {
          resp.sendError(HttpServletResponse.SC.METHOD.NOT.ALLOWED,msg);
        }
        生活不易,碼農辛苦
    如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
    程序員人生
    ------分隔線----------------------------
    分享到:
    ------分隔線----------------------------
    關閉
    程序員人生
    主站蜘蛛池模板: 免费av一区二区三区 | 日韩av成人在线观看 | 成人毛片视频免费 | 天堂中文最新版在线网 | 国产成人精品免费视频大全最热 | 国产欧美精品区一区二区三区 | 亚洲视频在线观看免费 | 久久av综合 | 精品欧美乱码久久久久久 | 国产三级毛片 | 亚洲精品久久 | 国产精品久久综合 | 亚洲日本国产 | 中文字幕亚洲成人 | 国产欧美一区二区三区在线看蜜臀 | 日韩国产一区 | 精品少妇一区二区三区 | 麻豆传媒在线视频 | 午夜视频免费在线观看 | 国产精品一区在线观看你懂的 | 国产精品三级久久久久久电影 | 综合久久久久久久 | 国产主播精品 | 麻豆免费网站 | 亚洲成人二区 | 免费的三级毛片 | 中文字幕免费一区 | 国产成人免费av一区二区午夜 | 免费视频亚洲 | 日韩欧美国产一区二区 | 亚洲精品1 | 91高清在线观看 | 日本久久精品视频 | 超碰三级 | 国产精品18久久久久久久久 | 欧美日韩国产色 | 亚洲h视频| 夜间av免费看精品 | 欧美手机在线视频 | 老女人一级片 | 久久免费看 |