Java筆試題 Servlet的生命週期

2021-09-19 15:29:21 字數 1473 閱讀 9452

正確答案: a   

a 在建立自己的servlet時候,應該在初始化方法init()方法中建立servlet例項

b 在servlet生命週期的服務階段,執行service()方法,根據使用者請求的方法,執行相應的doget()或是dopost()方法

c 在銷毀階段,執行destroy()方法後會釋放servlet 占用的資源

d destroy()方法僅執行一次,即在伺服器停止且解除安裝servlet時執行該方法

servlet的生命週期分為5個階段:載入、建立、初始化、處理客戶請求、解除安裝。

(1)載入:servlet容器(tomcat)通過類載入器載入servlet檔案(.class)

(2)建立:通過呼叫servlet建構函式建立乙個servlet物件

(3)初始化:呼叫init方法初始化

(4)處理客戶請求:每當有乙個客戶請求,容器會建立乙個執行緒來處理客戶請求

(5)解除安裝:呼叫destroy方法讓servlet自己釋放其占用的資源

servlet是由servlet容器負責載入servlet類,建立servlet物件並例項化,然後呼叫servlet的init方法,進行初始化,之後呼叫service方法。例項化和初始化不同。先例項化,再初始化。

serlvet是單例項多執行緒

預設第一次訪問的時候,伺服器建立servlet,並呼叫init實現初始化操作.並呼叫一次service方法

每當請求來的時候,伺服器建立乙個執行緒,呼叫service方法執行自己的業務邏輯

當serlvet被移除的時候伺服器正常關閉的時候,伺服器呼叫servlet的destroy方法實現銷毀操作.

正確答案: d   

a init()方法是servlet生命的起點。一旦載入了某個servlet,伺服器將立即呼叫它的init()方法
b service()方法處理客戶機發出的所有請求
c destroy()方法標誌servlet生命週期的結束
d servlet在多執行緒下使用了同步機制,因此,在併發程式設計下servlet是執行緒安全的
servlet是執行緒不安全的,在servlet類中可能會定義共享的類變數,這樣在併發的多執行緒訪問的情況下,不同的執行緒對成員變數的修改會引發錯誤

init方法: 是在servlet例項建立時呼叫的方法,用於建立或開啟任何與servlet相的資源和初始 化servlet的狀態,servlet規範保證呼叫init方法前不會處理任何請求 

service方法:是servlet真正處理客戶端傳過來的請求的方法,由web容器呼叫, 根據http請求方法(get、post等),將請求分發到doget、dopost等方法 

destory方法:是在servlet例項被銷毀時由web容器呼叫。servlet規範確保在destroy方法呼叫之 前所有請求的處理均完成,需要覆蓋destroy方法的情況:釋放任何在init方法中 開啟的與servlet相關的資源儲存servlet的狀態

一JAVA筆試題

題目 要求從鍵盤輸入一數字,然後中文輸出 要符合中文語法 例 12434 輸出 一萬二千四百三十四 string num 零壹貳叄肆伍陸柒捌玖 string dw 圓拾佰仟萬億 string m 30020.23 string mm null mm m.split string money mm 0...

JAVA筆試題(二)

1 servlet的生命週期?分為三個階段 1 初始化階段,呼叫init 方法 2 響應客戶請求階段,呼叫service方法 3 終止階段 呼叫destroy 方法 2 jdbc的編碼過程?前提 拷貝資料庫的驅動到構建路徑中 classpath 1 註冊驅動 2 獲取與資料庫的鏈結 3 建立代表sq...

筆試java 實戰筆試題2019

1 常見會話跟蹤技術有哪些?a url重寫 b 隱藏表單域 c cookie d session 4 bean的作用域?singleton 單例型別 prototype 原型型別 request 每次http請求將會產生不同的bean例項 session 對於每次http session,使用ses...