jsp 自動載入與Config物件

2021-08-13 15:42:46 字數 2151 閱讀 6417

1: 無引數init方法

有引數的init方法

這個方法是我們servlet生命週期的方法, 它需要被tomcat來呼叫

無引數的init方法

這個方法是為程式設計師準備的,我們可以來重寫這個無引數的init方法,在裡邊定義我們想要執行的初始化**,而不需要去重寫那個有引數的init方法了,(因為tomcat在呼叫有引數的init方法裡邊會呼叫這個無引數的init方法)

2: servlet自動載入

1): 因為第一次訪問需要執行構造方法與init方法,如果init方法中有比較多的初始化**需要執行時

這時使用者第一次訪問時的響應則會比較慢

這裡我們可以考慮把構造方法與init方法的執行時間放到使用者訪問前(可以使用servlet的自動載入)

2): 使用自動載入

servlet自動載入則就是在伺服器啟動載入web應用時就建立servlet物件與呼叫init方法

可以在servlet配置中新增乙個

如: loadonstartupdemo1servlet-name>

com.tz.servlet.demo.loadonstartupdemo1servlet-class>

9load-on-startup>

servlet>

3): servlet自動載入的優先順序

9load-on-startup>

如果裡邊的數字越大,則它的優先順序越小

4): 在@webservlet註解中配置自動載入

如: @webservlet(

urlpatterns = "/loadonstartupdemo1",

loadonstartup = 9

)3: servlet執行緒安全問題

1): servlet具有單例項多執行緒的特點,當多個執行緒訪問了乙個共享資料時(如: servlet的成員變數)則會出現執行緒安全問題

2): 通過synchronized關鍵字可以解決

synchronized(){}把要使用到共享資料的**放到synchronized**塊中就行

ps: 如果servlet中使用了成員變數,就一定要先考慮下執行緒安全問題(盡可能的不要在servlet中定義成員變數)

4: servletconfig物件

1): 建立時期

servletconfig物件在建立完servlet物件之後,在呼叫init方法之前被建立

並且在init方法時會把這個config物件傳入進去

2): 怎麼獲取 servletconfig物件(可以在init方法中來獲取)

由genericservlt類已經給我們實現了init方法,並且給我們提供乙個getservletconfig方法來獲取servletconfig物件

所以我們可以直接在servlet中通過getservletconfig方法來獲取這個物件(如: this.getservletconfig)

3): servletconfig物件

可以用於獲取載入servlet的初始化引數

4): servlet的初始化引數配置在(在web.xml檔案中)

configdemo1servlet-name>

com.tz.servlet.config.configdemo1servlet-class>

userparam-name>

rootparam-value>

init-param>

passwordparam-name>

123param-value>

init-param>

servlet>

5): servlet的初始化引數配置(在webservlet註解中配置)

@webservlet(

urlpatterns = ,

initparams =

)6): 核心方法

getinitparameter(string name); 根據指定引數名獲取引數值

getinitparameternames(); 獲取所有引數名

getservletcontext(); 獲取乙個servletcontext物件(servlet的上下文物件)

getservletname(); 獲取servlet的名稱

自動載入與訪問許可權

當在頁面中建立乙個類,這個類在初始化檔案中,要引入該類的檔案,然後使用自動載入函式 autoload方法每個類的類名和方法名都有一定的規律,便於用自動載入函式隨時載入該類,在你在控制頁面中建立函式,如果這個函式沒有載入,則會吧這個函式的類名當引數傳入函式autoload方法中,利用程式自動載入該類 ...

載入dict vim的重新載入與自動補全

重磅乾貨,第一時間送達 圖 pexels 日期 2021.1.6 重新載入當前檔案 e e 放棄當前修改,強制重新載入 重新載入所有開啟的檔案 bufdo e 或者 bufdo e bufdo命令表示把後面的命令應用到所有buffer中的檔案。在insert模式下,vim在不借助任何外掛程式的情況下...

自動載入相關函式與方法

php在執行的時候,如果發現需要使用乙個類 只要是和這個類相關的任何的操作 而此時,當前指令碼並沒有這個類的定義 那麼php此時會自動的呼叫乙個名字為 autoload 的乙個函式!並且,在呼叫的時候,會給該函式傳遞乙個引數,這個引數就是當前需要的類的類名!自動載入 函式 function aotu...