多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

Servlet生命周期與工作原理

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

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方法都是返回毛病信息,

<i id="avftn"><tr id="avftn"></tr></i>
    1. <p id="avftn"></p>
    2. 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);
          }
          生活不易,碼農辛苦
      如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
      程序員人生
      ------分隔線----------------------------
      分享到:
      ------分隔線----------------------------
      關閉
      程序員人生
      主站蜘蛛池模板: 久久欧美精品 | 国产日韩欧美第一页 | 免费在线看v片 | 在线免费看a爱片 | 日本成人黄色网址 | 国产成在线观看免费视频成本人 | 亚洲在线观看网站 | 爽一爽色视频 | 久久天天躁狠狠躁夜夜2020一 | 午夜一级做a爰片久久毛片 午夜一区二区三区 | 欧美成人亚洲国产精品 | 亚洲制服一区 | 牛和人交videos欧美冫3d | 日韩人成 | 国产91嫩草精品 | 国产成人精品免费视频大全五级 | 午夜高清免费观看视频 | 一本大道香蕉中文日本不卡高清二区 | 国产人澡人澡澡澡人碰视频 | 狠狠色伊人亚洲综合第8页 狠狠色综合网 | 又硬又大又湿又紧a视频 | 中文字幕第12页 | 性欧美精品xxxx | 成人精品视频在线观看播放 | 亚洲高清在线 | 成人中文字幕在线 | 另类一区 | 色婷婷久久综合中文久久蜜桃 | 中国黄色毛片 大片 | 免费一级国产生活片 | 日韩视频高清免费看 | 校园 图片区 视频 小说专区 | 国产高清一区二区三区免费视频 | 欧美日韩一 | 五月天婷五月天综合网在线 | 日本护士xxww免费 | 免费网站看v片在线香蕉 | www懂爱| 亚洲国产欧洲精品路线久久 | 狂野欧美性猛交xxxx免费按摩 | 毛片的网站 |
        • <noscript id="avftn"><tbody id="avftn"></tbody></noscript>
            <source id="avftn"><optgroup id="avftn"></optgroup></source>