1. 程式人生 > >面試題寶典01

面試題寶典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例項的屬性值