標籤:style class blog java http color
一 JSP 概述
1. 本質:在 HTML 語言中混合 Java 程式碼,由伺服器端 Java 語言引擎解釋執行。其中,HTML 負責描述資訊顯示格式,JSP 負責描述處理邏輯。
2. JSP 代碼運行環境:需要系統安裝 JSP 引擎,最常用的如 Tmocat 和 Apache。
3. JSP 開發的典型方式:
a) 直接使用:顯示簡單的動態效果。
b) JSP+JavaBeans:需要與資料庫連接,管理諸如帳號之類的資訊。
c) JSP+JavaBeans+Servlet:將事物邏輯和表現邏輯分開,JSP 負責表現邏輯的處理和輸出,Servlet 專註於處理 Web 的關鍵商務邏輯。
d) MVC 模式:把一個應用的輸入、處理、輸出資料流程分成模型層、視圖層、控制層等三個層。
二 JSP 網路應用服務架構
1. JSP 互動過程:
a) 伺服器接收請求後分析請求,如果是 HTML 頁面則直接返回。
b) 如果客戶請求的是 JSP 頁面,伺服器調用 JSP 引擎翻譯並處理所請求 JSP 頁面,然後將處理後產生的 HTML 頁面返回。
c) 如果遇到 JavaBeans 組件,則調用相應的 JavaBeans 組件,並在得到結果後返回給客戶。
2. JSP 互動過程圖示:
3. JSP 引擎工作原理:
a) 將 JSP 頁面翻譯成一個 Servlet (Java檔案)
b) JSP 引擎調用 Java 編譯器對這個 Servlet 進行編譯,得到可執行檔 class 檔案。
c) JSP 引擎調用 JAVA 虛擬機器來解釋執行 class 檔案,產生向用戶端發送的應答,然後發送給客戶。
上述步驟僅僅在 JSP 頁面第一次被訪問時才會執行,以後會因為類檔案已經產生而提高效率。
4. JSP 引擎工作原理圖示:
5. JSP 訪問模型 --- JSP + JavaBean:
a) JSP頁面獨自響應請求並將處理結果返回客戶,所有的資料庫操作通過JavaBean來實現。
b) 大量地使用這種模式,會導致在JSP頁面中嵌入大量的Java代碼,使得JSP頁面變得非常臃腫。
c) 前端的頁面設計人員稍有不慎,就有可能破壞關係到商業邏輯的代碼。
d) 該模式只適用於中小規模的項目。
6. JSP 訪問模型 --- JSP + JavaBean 圖示:
7. JSP 訪問模型 --- MVC 模式
a) MVC 模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器” 。
b) MVC 把一個應用的輸入、處理、輸出資料流程分成模型層、視圖層、控制層等三個層。
i) Event (事件)導致 Controller 改變 Mode l或 View,或者同時改變兩者
ii) 只要 Controller 改變了 Models 的資料或者屬性,所有依賴的 View 都會自動更新。
iii) 類似的,只要 Controller 改變了 View,View 會從潛在的 Model 中擷取資料來重新整理自己。
c) MVC 處理流程:
i) 首先控制器接收使用者的請求,並決定應該調用哪個模型來進行處理。
ii) 然後模型用商務邏輯來處理使用者的請求並返回資料。
iii) 最後控制器用相應的視圖格式化模型返回的資料,並通過展示層呈現給使用者。
d) MVC 模式的優點:
i) 資料層代碼和展示層代碼沒有混在一起
ii) 多個視圖能共用一個模型
iii) MVC 的應用程式的三個組件相互獨立
e) MVC 實際處理流程:
i) Servlet 用來處理請求的事務,充當控制器的角色。
ii) JSP 頁面處於表現層,即視圖的角色。
iii) JavaBean則負責資料處理,即模型的角色。
f) MVC 實際處理流程圖示:
三 JSP 基本文法
1. JSP 頁面基本組成:
a) 指令碼元素:用來嵌入Java代碼,使之成為轉換得到的 Servlet 的一部分。
b) 指令:為頁面提供全域資訊,如匯入語句、錯誤處理頁面等。
c) 聲明:對網頁全域變數和方法的說明。
d) 運算式:將運算式格式化包含在頁面輸出中的一個串。
e) 行為:引入現有組件或控制 JSP 引擎行為。
2. JSP 基本文法運算式:
a) 編譯器指令 <%@ 編譯器指引 %>
b) 預定義 <%! 預定義 %>
c) 運算式 <%= 運算式 %>
d) 程式碼 <% 程式碼 %>
e) 註解 <%-- 註解 - -%>
PS:具體文法細節就不做累述了。