首頁  >  文章  >  Java  >  JSP基礎知識點總匯

JSP基礎知識點總匯

巴扎黑
巴扎黑原創
2017-07-18 14:14:272809瀏覽

 

一 概述

1.什麼是JSP?

Java Server Pages,伺服器端負責頁面展示的技術,可以巢狀java語言,以取代使用Servlet產生頁面的方式,底層被轉換為Servlet 。

二路徑

1.絕對路徑

依靠自身就能唯一確定資源的路徑,內容上以協定開頭,如在HTTP請求中以http開頭。

2.相對路徑

必須依賴其他路徑才能唯一確定資源的路徑,內容上不以協定開頭。

3.資源路徑構成

訪問路徑+資源名稱,資源名稱是最後一個「/」後面的內容,其餘是訪問路徑。

4.WEB-INF路徑

# 放在WEB-INF目錄下的資源只能透過程式轉發訪問,無法透過瀏覽器直接訪問,比較安全。重定向執行時是將位址發給瀏覽器,由瀏覽器發出請求,因此程式內部的重新導向也無法直接存取WEB-INF目錄下的資源。
在WEB-INF目錄下的資源內部只能採用相對於伺服器的路徑,不能採用相對於目前資源存取路徑的路徑,即只能採用以下路徑形式:

${pageContext.request.contextPath}/xxx

5.重定向路徑

#所有的重定向只能採用相對於伺服器的路徑形式,因為重定向可以存取其他項目中的資源,路徑的起點是伺服器。根據網址列位址的變化,HTML頁面、JSP頁面中的所有請求都可以看做重定向,所有的路徑都必須採用相對於伺服器的形式。

6.轉送路徑

所有的轉送只能採用相對於專案的路徑形式,因為轉送只能存取同一專案內的資源。

三指令標識

用於設定在整個JSP頁面內都有效的訊息,指令標識的語法格式:

<%@ tagName attr="value"...%>

JSP中有三種指令標識:

1.page

##主要用到的屬性有:

  • contentType:設定頁面的MIME型別與編碼方式。

  • isErrorPage:將頁面設定為錯誤處理頁面,通常與內建物件exception結合使用,用來處理另一個頁面的錯誤訊息。

  • errorPage:為頁面指定錯誤處理頁面,當頁面執行出現錯誤時,跳到指定頁面。

2.include

#
<%@ include file="path"%>

靜態包含,用於將一個JSP頁麵包含在當前頁面中。所謂靜態包含指的是,被包含的JSP頁面原樣呈現在包含頁面中,與包含頁麵生成同一Servlet。

3.taglib

<%@ taglib prefix="c"uri=""%>

用於引入標籤庫到目前頁面,使用指定的前綴來引用標籤庫中的標籤。

四動作標識

JSP中有3個動作標識:

1.< ;jsp:include>

動態包含,用於將一個JSP頁麵包含在目前頁面中。所謂動態包含指的是,被包含頁經編譯後呈現在目前頁面中,包含頁面與被包含頁面各自產生一個Servlet。

2.

#
<jsp:forward page="url"/>
## 用於頁面跳轉。

3.

#
<jsp:param name="paramName"value="paramValue>

識別結合使用,用於在頁面跳躍時傳遞請求參數。

五九大內建物件

  • # request:用於取得請求訊息,例如請求參數及客戶端訊息。

  • response:用於回應客戶端請求。

  • out:用於輸出回應訊息。

  • session:代表瀏覽器與伺服器的一次會話。 HTTP協議是無狀態協議,回應結束後,會話終斷,不會保存會話訊息,session

  • 就是為了保存會話資訊產生的。

  • application:代表應用程序,主要用於保存整個應用層面的資訊。

  • page:代表目前頁面。

  • pageContext:頁面上下文,透過該對象可以取得其他對象,例如request/session/application等。

  • config:用於取得伺服器的設定訊息,初始化Servlet。

  • exception:用於取得頁面的錯誤訊息。

六java程式碼

# 在JSP頁面可以插入java程式碼,插入的3種形式:

  • <%! xxxxxx %>:宣告程式碼區塊,用於宣告全域變數或方法。

  • <% xxxxx %>:java程式碼區塊,可以在其中編寫任何java程式碼,該程式碼區塊最終被編寫在方法中。

  • <%= xxxxx %>:輸出程式碼區塊,用於向JSP頁面輸出內容。

 

JSP的改進:

    1)JSP是標籤式的文字檔案(Servlet是Java檔案) 
    2)JSP不需要編譯(其實是由伺服器監控JSP檔案的變化,再將其翻譯成Servlet 程式碼) 
      伺服器進行編譯並在第一次要求時創建一個Servlet實例。所以,第一次造訪JSP頁面時會後延遲
    3)JSP不用寫設定檔
    4)JSP以靜態程式碼為主,Java程式碼為輔。 Servlet反之。
    5)是J2EE藍圖的一部份(Servlet、JSP以及EJB是J2EE的三大元件) 
    JSP本質上來說核心或Servlet,但與Servlet不是替代關係而是一種互補的關係。
    JSP適合於寫入顯示層的動態頁面,而Servlet則適合寫入控制層的業務控制(頁面轉送)。
    JSP往純標籤方向發展,Servlet往純程式碼方向發展,他們以Servlet核心(請求響應式的工作方式)往兩個方向發展。


以上是JSP基礎知識點總匯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn