好程序員Java教程分享jsp相關面試題java
1、jsp有哪些內置對象?做用分別是什麼?分別有什麼方法?程序員
答:JSP共有如下9個內置的對象:面試
request用戶端請求,此請求會包含來自GET/POST請求的參數瀏覽器
response網頁傳回用戶端的迴應cookie
pageContext網頁的屬性是在這裏管理session
session與請求有關的會話期app
applicationservlet正在執行的內容jsp
out用來傳送回應的輸出插件
configservlet的構架部件對象
pageJSP網頁自己
exception針對錯誤網頁,未捕捉的例外
request表示HttpServletRequest對象:
它包含了有關瀏覽器請求的信息,而且提供了幾個用於獲取cookie,header,和session數據的有用的方法。
response表示HttpServletResponse對象,並提供了幾個用於設置送回瀏覽器的響應的方法(如cookies,頭信息等)
out對象是javax.jsp.JspWriter的一個實例,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。
pageContext表示一個javax.servlet.jsp.PageContext對象。它是用於方便存取各類範圍的名字空間、servlet相關的對象的API,而且包裝了通用的servlet相關功能的方法。
session表示一個請求的javax.servlet.http.HttpSession對象。Session能夠存貯用戶的狀態信息
applicaton表示一個javax.servle.ServletContext對象。這有助於查找有關servlet引擎和servlet環境的信息
config表示一個javax.servlet.ServletConfig對象。該對象用於存取servlet實例的初始化參數。
page表示從該頁面產生的一個servlet實例
2、jsp有哪些動做?做用分別是什麼?
答:JSP共有如下6種基本動做
jsp:include:在頁面被請求的時候引入一個文件。
jsp:useBean:尋找或者實例化一個JavaBean。
jsp:setProperty:設置JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記
3、JSP的經常使用指令
isErrorPage(是否能使用Exception對象),isELIgnored(是否忽略表達式)
4、JSP中動態INCLUDE與靜態INCLUDE的區別?
答:動態INCLUDE用jsp:include動做實現
它老是會檢查所含文件中的變化,適合用於包含動態頁面,而且能夠帶參數靜態INCLUDE用include僞碼實現,定不會檢查所含文件的變化,適用於包含靜態頁面