此部分包括: JSP, EL, JSTL, My Tag, I18N, FileUpDown
1.jsp有哪些內建物件?作用分別是什麼?
答:JSP共有以下9個內建的物件:
request: 使用者端請求,此請求會包含來自GET/POST請求的引數
response: 網頁傳回使用者端的迴應
pageContext: 網頁的屬性是在這裡管理
session: 與請求有關的會話期
application: 與當前應用對應的ServletContext物件, 應用中只有一個
out: 用來傳送回應的輸出 {}<%=%>
config: 與jsp配置物件的物件, 一般無用
page: jsp對應的Servlet物件
exception: 針對錯誤網頁,未捕捉的異常物件
2. jsp有哪些動作?作用分別是什麼?
答:JSP共有以下6種基本動作
jsp:include:在頁面被請求的時候引入一個檔案。
jsp:forward:把請求轉到一個新的頁面。
jsp:useBean:尋找或者例項化一個JavaBean。
jsp:setProperty:設定JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:plugin:根據瀏覽器型別為Java外掛生成OBJECT或EMBED標記
3. JSP的常用指令
答:主要有下面3種指令
page指令: 指定頁面的的一些屬性, 常用屬性:contentType=”text/html; charset=utf-8″ //向瀏覽器端輸出資料的編碼
pageEncoding=”utf-8″ //jsp檔案被編譯成java檔案時所用的編碼
session=”true” //是否自動建立session
include指令: 包含別一個jsp頁面taglib指令: 引入一個標籤庫4. JSP中動態INCLUDE與靜態INCLUDE的區別?
答:
動態包含: 用<jsp:include>, 包含的動作是在jsp對應的Serlet處理請求時去執行的,每次請求都會執行.靜態包含: 用include指令, 包含的動作是在jsp被編譯成java檔案時執行的, 只有第一次請求時執行.5. JSP和Servlet有哪些相同點和不同點,他們之間的聯絡是什麼?
答:
JSP的優點是擅長於網頁製作,生成動態頁面比較直觀,缺點是不容易跟蹤與排錯。
Servlet是純Java語言,擅長於處理流程和業務邏輯,缺點是生成動態網頁不直觀。
6. EL的功能, 為什麼要用EL?
EL的功能包括:從四個域物件中取出屬性資料顯示取出請求引數資料顯示為什麼要用EL?在頁面中用jsp指令碼和jsp表示式來獲取資料顯示比較麻煩
需要條件判斷可能需要強轉7. JSTL的功能, 為什麼要用JSTL?
JSTL的功能JSTL全名為JavaServer Pages Standard Tag Library, 主要用於基本輸入輸出、流程控制、迴圈、XML檔案剖析、資料庫查詢及國際化和文字格式標準化的應用等
為什麼要用JSTL?在jsp頁面做條件判斷或迴圈操作並輸出時, 比較費力
8. 為什麼要用自定義標籤?, MyTag如何實現?
為什麼要用?不想在Jsp中編寫java程式碼JSTL標籤庫不能滿足實際專案的需求自定義標籤定義和使用的流程1.編寫標籤處理器類(SimpleTagSupport的實現類)
重寫doTag()2.編寫標籤庫檔案(WEB-INF/xxx.tld)
整個檔案的定義: <short-name> <uri>標籤的定義: <tag>3.在jsp頁面使用標籤:
匯入標籤庫(xxx.tld/)使用標籤