撩課-Java每天5道面試題第8天
阿新 • • 發佈:2018-11-21
71.jsp有哪些內建物件?作用分別是什麼?
Page, pageContext, request, response, session, application, out, config, exception Page指的是JSP被翻譯成Servlet的物件的引用. pageContext物件可以用來獲得其他8個內建物件, 還可以作為JSP的域範圍物件使用. pageContext中存的值是當前的頁面的作用範圍 request代表的是請求物件, 可以用於獲得客戶機的資訊, 也可以作為域物件來使用, 使用request儲存的資料 在一次請求範圍內有效。 Session代表的是一次會話, 可以用於儲存使用者的私有的資訊, 也可以作為域物件使用, 使用session儲存的資料在一次會話範圍有效 Application:代表整個應用範圍, 使用這個物件儲存的資料 在整個web應用中都有效。 Response是響應物件, 代表的是從伺服器向瀏覽器響應資料. Out:JSPWriter是用於 向頁面輸出內容的物件 Config:指的是ServletConfig 用於JSP翻譯成Servlet後 獲得Servlet的配置的物件. Exception:在頁面中設定isErrorPage=”true”, 即可使用, 是Throwable的引用.用來獲得頁面的錯誤資訊。
72.jsp有哪些動作?作用分別是什麼?
jsp:include:
在頁面被請求的時候引入一個檔案。
jsp:useBean:
尋找或者例項化一個JavaBean。
jsp:setProperty:
設定JavaBean的屬性。
jsp:getProperty:
輸出某個JavaBean的屬性。
jsp:plugin:
根據瀏覽器型別為Java外掛生成OBJECT或EMBED標記。
jsp:forward:
把請求轉到一個新的頁面。
73.JSP中動態INCLUDE與靜態INCLUDE的區別?
1. 靜態include的結果是 把其他jsp引入當前jsp, 兩者合為一體 動態include的結構是兩者獨立, 直到輸出時才合併 看看jsp生成的java檔案就可以知道了 2.正是因為這樣, 動態include的jsp檔案獨立性很強, 是一個單獨的jsp檔案, 需要使用的物件, 頁面設定,都必須有自己建立, 當然,還好它和include 它的頁面的request範圍是一致的. 而靜態include純粹是把程式碼 寫在外面的一種共享方法, 所有的變數都是可以 和include它的主檔案共享 ,兩者高度緊密結合, 不能有變數同名的衝突. 而頁面設定也可以借用主檔案的.
74.說一說Servlet的生命週期?
servlet 的生命週期是有四個階段: 例項化 –> 初始化 –> 請求處理 –> 銷燬 建立 Servlet 例項。 Web 容器呼叫 Servlet 的 init() 方法, 對Servlet 進行初始化。 Servlet 初始化後, 將一直存在於容器中, 用於響應客戶端請求。 根據客戶端的請求方式通過 Servlet 中service() 方法 去相應的 goGet(),或 doPost() 方法; Web 容器銷燬Servlet 時, 呼叫 Servlet 的 destroy() 方法, 通常在關閉Web容器之時銷燬Servlet。 servlet 生命週期的三個方法: init()方法: Servlet例項化時呼叫此方法 Service()方法: 客戶請求和響應呼叫此方法。 Destroy()方法: 釋放記憶體,關閉web伺服器呼叫此方法
75.說說JSP 的生命週期?
瀏覽器首先要請求一個以.jsp副檔名結尾的頁面,
發起JSP請求,
然後,Web伺服器讀取這個請求,
使用JSP編譯器把JSP頁面
轉化成一個Servlet類。
需要注意的是,
只有當第一次請求頁面
或者是JSP檔案發生改變的時候
JSP檔案才會被編譯,
然後伺服器呼叫servlet類,
處理瀏覽器的請求。
一旦請求執行結束,
servlet會把響應傳送給客戶端。
jsp 的生命週期分為四個階段:
編譯
初始化
執行
銷燬