三 JSP 技術

來源:互聯網
上載者:User

標籤: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:具體文法細節就不做累述了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.