servlet里面的方法 servlet的生命周期中哪些方法只調用一次?
servlet的生命周期中哪些方法只調用一次?在servlet的整個生命周期中,servlet的初始化和銷毀只會發(fā)生一次。因此,init()和destroy()這兩個方法在servlet的生命周期中,
servlet的生命周期中哪些方法只調用一次?
在servlet的整個生命周期中,servlet的初始化和銷毀只會發(fā)生一次。因此,init()和destroy()這兩個方法在servlet的生命周期中,只被調用一次。其中init()方法在servlet初次創(chuàng)建時被調用,之后處理每個用戶的請求時,則不再調用這個方法。因此,init()方法主要用于一次性的初始化操作。比如創(chuàng)建或載入在servlet生命周期中要用到的一些數(shù)據(jù)(如果有的話),或者執(zhí)行某些一次性的計算(如果需要的話)等。同樣,在服務器移除或銷毀servlet的實例之前,會調用servlet的destroy方法,從而使得servlet有機會關閉數(shù)據(jù)庫連接(如果需要的話),停止后臺運行的線程(如果需要的話)或者執(zhí)行一些其它的清理操作(如果需要的話)等。
servlet的生命周期中哪些方法只調用一次?
Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調用其destroy方法。與cgi的區(qū)別在于servlet處于服務器進程中,它通過多線程方式運行其service方法,一個實例可以服務于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產(chǎn)生新的進程,服務完成后就銷毀,所以效率上低于servlet。