面試題寶典01
Jsp的重定向與轉發的流程有什麼區別
重定向是客戶端行為,轉發是伺服器端行為
重定向時伺服器產生兩次請求,轉發產生一次請求。重定向可以轉發到專案以外的任何網址,轉發只能在專案裡轉發。
重定向會導致request物件資訊丟失。轉發則不會。
轉發的url不會變,request.getRequestDispatcher("頁面").forward(request,response);
重定向的url會改變,response.getRedirect();
重定向通過response.getRedirect()方法實現的,是在客戶端執行的,重定向會向伺服器產生兩次請求,可以跳轉到專案以外的任何網址,會導致renquest物件丟失,url會改變(兩次請求:客戶端向伺服器傳送請求,伺服器接收到請求返回給客戶端(一次),客戶端將再次傳送請求給新的地址,伺服器端返回結果給客戶端)。
轉發通過request.getRequestDispatch().forward()方法實現的,在伺服器端執行,轉發會產生一次請求,只能在當前專案裡跳轉,request物件資訊不會丟失,url會改變
Jsp和Servlet的區別
1.jsp有HTML程式碼和jsp標籤組成,可以方便的編寫動態網頁
2.servlet完全由java程式程式碼組成擅長於流程控制和事務處理。
3.jsp是servlet技術的擴充套件,本質上就是servlet的簡易方式。
4.jsp編譯後是“類servlet”
5.jsp側重於檢視,servlet主要用於邏輯控制
Jsp的九大物件,三大指令,七大動作
九大內建物件
pageContext:只對當前jsp頁面有效,裡面封裝了基本的request和session的物件
request:對當前請求進行封裝
session:瀏覽器會話物件,瀏覽器範圍內有效
application:應用程式物件,對整個web工程有效
out:頁面列印物件,在jsp頁面列印字串
response:返回伺服器端資訊給使用者
config:單個servlet配置物件,相當於servletConfig物件
page:當前頁面物件,也就是this
exception:錯誤頁面的exception物件,如果指定的是錯誤頁面,這個就是異常物件
三大指令
page:是針對當前頁面的指令
include:用於指定如何包含另一個頁面
Taglib:用於定義和指定自定義標籤
七大動作
forward:執行頁面跳轉,將請求的處理轉發到另一個頁面
param:用於傳遞引數
include:用於動態引入一個jsp頁面
plugin:用於下載javaBean或applet到客戶端執行
useBean:使用javaBean
setProperty:修改javaBean例項的屬性值
getProperty:獲取javaBean例項的屬性值