所學的servlet知識點總結

2021-07-07 10:41:33 字數 1521 閱讀 3532

1.servlet生命週期

1.1 servlet類物件什麼時候建立,什麼時候呼叫什麼方法,什麼時候銷毀

1.2 servelt物件是由tomacat控制的

2.servlet重要的生命週期方法

建構函式(建立servlet物件):第一次訪問servelt物件時候呼叫。

init方法:建立完servlet物件的時候呼叫。

service方法:每次發出請求的時候呼叫。

destory方法:新部署web應用的時候和銷毀servlet物件的時候

3.servlet自動載入

預設情況下,第一次訪問servlet的時候建立servlet物件,如果servlet構造方法或者init方法中執行了比較多的邏輯結構,那麼會導致第一次方法servlet的時候比較慢

解決方法:在web.xml配置中加入,改變了servlet的建立時機,把servlet物件的建立和init方法放在載入web應用中了。數值越大,優先順序越低。

4.有參和無參的init方法

無參的init方法是為了讓開發者進行覆蓋的;它沒有servletconfig這個引數。

而有參的init方法是有servletconfig這個引數的。

有參的init方法又呼叫了無參的init方法

tomcat預設呼叫的是有參的init方法

如果我們在想呼叫init方法時執行一些操作,那怎麼辦呢,只要我們複寫無參的init方法,tomcat在呼叫完有參的init方法時呼叫無參的init方法,這樣兩個操作都執行了。而且我們也不用寫super.init();試想一下,如果沒有無參的init方法,那我們複寫有參的init方法時忘記了些super.init(config)方法,那麼

config就不能初始化了,而這樣設計即使我們不呼叫super的方法,也不會出問題。何樂而不為呢!

5.servlet物件是單例項多執行緒的(執行機制)

如果多執行緒同時訪問servlet物件的共享資料(成員變數),可能會引發執行緒安全

解決方法:1)把使用到共享的**塊進行同步(使sychronized關鍵字進行同步)

2)建議在servlet類中盡量不要使用成員變數,如果要是用成員變數,必須同步,而且盡量縮小同步**塊的範圍。以避免因為同步而導致併發效率低

5.servletconfig和servletcontext物件

5.1 在乙個web.xml中可以有多個servletconfig物件,因為servletconfig物件是面向乙個servlet物件的,而在web.xml中只能有乙個servletcontext,因為它是面對web.xml檔案中所有的servlet的。

5.2 作用

servletconfig物件主要用於載入servlet的初始化引數

servletcontext物件主要用於servlet上下文,表示乙個web應用環境

5.3 建立時間

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

servletcontext:在載入web應用的時候建立

5.4 api

見文件!

Servlet 小知識點

自定義eclipse工具中的new 快捷鍵專案列表。1.servlet 重要的方法是service方法。既可以處理post請求,也可以處理get請求。在複寫service方法時不要呼叫父類service,因為它會根據當前請求的型別呼叫當前servlet的dopost方法或者doget方法。容易出現4...

Linux基礎0513所學知識點的總結

環境的安裝 從虛擬機器中選擇 建立新的虛擬機器 在虛擬環境中寫程式時的預設開頭為 root promote 使用者 主機名 當前所在的目錄 命令提示符 使用者分為 普通使用者 命令提示符 管理員 root 命令提示符 windows系統的每一級檔案以 區分 linux系統的每一級檔案用 隔開 命令與...

servlet需要掌握的知識點

servletconfig物件的獲取方式有三種 第一種 重寫init 方法 第二種 通過繼承父類的方法 第三種 自己的api servletconfig 還能獲取servletcontext 通過 this.getservletconfig getservletcontext servletcont...