<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    servlet 學習筆記之二

    ——關于 Servlet 生命周期

     

     

    寫這篇總結的時候,已經辭職有好幾天了。去北京還沒有買到票, 4 月前,北京、上海、拉薩等地方的火車票都沒有了,還好我不急著走。

     

    下面總結了 servlet 的生命周期。

    Servlet 運行在 Servlet 容器中,其生命周期由容器來管理。 Servlet 的生命周期通過 Servlet 接口中 init ()、 service ()、 destroy ()方法來表示。

    Servlet 的生命周期包含了下面 4 個階段。

    (1)       加載和實例化

    Servlet 容器負責加載和實例化 Servlet 。當 Servlet 容器啟動時,或者在容器檢查到需要這個 Servlet 來響應一個請求時,創建 Servlet 實例。當 Servlet 容器啟動后,它必須要知道所需的 Servlet 類在什么位置, Servlet 容器可以從本地文件系統、遠程文件系統或者其他網絡服務器中通過類加載器加載 Servlet 類,成功加載后,容器創建 Servlet 實例。因為容器是通過 Java 的反射 API 來創建 Servlet 實例,調用的是 Servlet 的默認構造函數,也就是那個不帶參數的構造函數,所以我們在編寫 Servlet 類的時候,不應該提供帶參數的構造函數。——這也就是為什么 Servlet 類可以不寫構造函數的原因。

    (2)       初始化

    Servlet 實例化之后,容器必須調用 Servlet init ()方法初始化這個對象。初始化的目的是為了讓 Servlet 對象在處理客戶請求前完成一些初始化工作,如建立數據庫連接,獲取配置信息等。對于每一個 Servlet 實例, init ()方法只能被調用一次。在初始化期間, Servlet 實例可以使用容器為它準備的 ServletConfit 對象從 web 應用程序的配置信息(在 web.xml 中配置)中獲取初始化的參數信息。在初始化期間,如果發生錯誤, Servlet 實例可以拋出異常來通知容器。

    (3)       請求處理

    Servlet 容器調用 Servlet service ()方法對請求進行處理。要注意的是,在 service ()方法調用之前, init ()方法必須成功執行。在 service ()方法中, servlet 實例通過 ServletRequest 對象得到客戶端的相關信息和請求信息,在對請求進行處理后,調用 servletResponse 對象的方法設置響應信息。

    (4)       服務終止

    當容器檢測在一個 Servlet 實例應該從服務中被移除的時候,容器就會調用實例的 destroy ()方法,以便讓該實例可以釋放它所使用的資源,保存數據到持久存儲設備中。當需要釋放內存或者容器關閉時,容器就會調用 Servlet 實例的 destroy ()方法。在調用 destroy ()方法后,容器會釋放這個 Servlet 實例,該實例隨后會被 java 的垃圾收集器回收。

     

    在整個 Servlet 的生命周期過程中,創建 Servlet 實例、調用實例的 init ()和 destroy ()方法都只進行一次,當初始化完成后, Servlet 容器會將該實例保存在內存中,通過調用它的 service ()方法,為接收到的請求服務。

    posted on 2007-03-26 19:16 -274°C 閱讀(1699) 評論(4)  編輯  收藏 所屬分類: JSP


    FeedBack:
    # re: servlet學習筆記之二[未登錄]
    2007-03-26 20:26 | 阿蜜果
    許久不見了,繼續加油,找份好工作!  回復  更多評論
      
    # re: servlet學習筆記之二
    2007-03-27 13:47 | 兵臨城下
    呵呵,無意中看到了。去中興面試問我這個問題,一時沒答上來,郁悶!現在知道了!  回復  更多評論
      
    # re: servlet學習筆記之二
    2007-03-27 15:05 | BeanSoft
    是呀, 面試大部分時候都是問些概念題...  回復  更多評論
      
    # re: servlet學習筆記之二
    2012-03-08 22:14 | 開始了
    作者的類容真的很有用, 學習中希望自己也能有自己的收獲啊,我也要加油了  回復  更多評論
      

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914351
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 91福利视频免费| 午夜免费福利视频| 日本黄页网站免费| 亚洲精品无码久久久久A片苍井空| 成人免费视频77777| 亚洲免费中文字幕| 国产无人区码卡二卡三卡免费| 亚洲欧洲国产经精品香蕉网| 国产乱子精品免费视观看片| 7777久久亚洲中文字幕| 精品久久洲久久久久护士免费| 爱爱帝国亚洲一区二区三区| 亚洲国产一成久久精品国产成人综合| 一边摸一边桶一边脱免费视频| 色噜噜亚洲精品中文字幕| 精品国产免费一区二区三区香蕉 | 亚洲欧洲日韩国产| 久久国内免费视频| 亚洲国产欧美日韩精品一区二区三区| 美女被免费视频网站a国产| 免费大片av手机看片高清| 亚洲乱码无码永久不卡在线| 久久久久久久99精品免费| 亚洲成av人片在线看片| 日韩免费视频一区| 一本一道dvd在线观看免费视频| 国产亚洲婷婷香蕉久久精品| www视频在线观看免费| 亚洲中文字幕一二三四区| 亚洲国产精品国产自在在线| 成全在线观看免费观看大全| 亚洲一区二区三区高清不卡| 亚洲国产精品成人网址天堂| 一区二区三区福利视频免费观看| 亚洲中文精品久久久久久不卡| 亚洲综合色婷婷七月丁香| 亚洲毛片免费观看| 香蕉国产在线观看免费| 亚洲日本香蕉视频| 亚洲综合最新无码专区| 一二三四免费观看在线视频中文版 |