JSP/Servlet 常識總結
JSP方面:
1、jsp有哪些內建物件?作用分別是什麼?
答:JSP共有以下9種基本內建元件:
request 使用者端請求,此請求會包含來自GET/POST請求的引數
response 網頁傳回使用者端的迴應
pageContext 頁面上下文,網頁的屬性是在這裡管理
session 會話,跟瀏覽器相關,可跨越多個不同的請求儲存資料
application servlet 應用程式上下文
out 用來傳送回應的輸出
config servlet 的構架部件
page JSP 網頁本身
exception 針對錯誤網頁,未捕捉的例外
2、jsp有哪些動作?作用分別是什麼?
答:JSP共有以下6種基本動作
jsp:include:在頁面被請求的時候引入一個檔案。
jsp:useBean:尋找或者例項化一個JavaBean。
jsp:setProperty:設定JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器型別為Java外掛生成OBJECT或EMBED標記
3、JSP中動態INCLUDE與靜態INCLUDE的區別?
答:動態INCLUDE用jsp:include動作實現
<jsp:include page
用於包含動態頁面,並且可以帶引數
靜態INCLUDE用include偽碼實現,不會檢查所含檔案的變化,適用於包含靜態頁面
<%@ include file="included.htm" %>
4、兩種跳轉方式分別是什麼?有什麼區別?
答:有兩種,分別為:
<jsp:include page="included.jsp" flush="true">
<jsp:forward page= "nextpage.jsp"/>
前者頁面不會轉向 include 所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執行完
後還會回來,相當於函式呼叫。並且可以帶引數.後者完全轉向新頁面,不會再回來。相當於go to 語
句。
Servlet方面:
1、Servlet的生命週期?
答:servlet 有良好的生存期的定義,包括載入和例項化、初始化、處理請求以及服務結束。這個
生存期由javax.servlet.Servlet介面的init,service和destroy方法表達。
2、JAVA SERVLET API中forward() 與redirect()的區別?
答:前者僅是容器中控制權的轉向,在客戶端瀏覽器位址列中不會顯示出轉向後的地址;後者則是
完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求連結。這樣,從瀏覽器的位址列中可以
看到跳轉後的連結地址。所以,前者更加高效,在前者可以滿足需要時,儘量使用forward()方法,
並且,這樣也有助於隱藏實際的連結。在有些情況下,比如,需要跳轉到一個其它伺服器上的資源,
則必須使用sendRedirect()方法。