語言技術:Servlet/JSP Gossip

JSP 與 Servlet 是一體的兩面,您可以使用單獨一項技術來解決動態網頁呈現的需求,但最好的方式是取兩者的長處,JSP 是網頁設計人員導向的,而 Servlet 是程式設計人員導向的,釐清它們之間的職責可以讓兩個不同專長的團隊彼此合作,並降低相互間的牽制作用。
這邊的內容涵蓋 Servlet 3.0、JSP 2.2。

Servlet 入門
         Servlet/JSP 是一體兩面,想了解 JSP,先搞懂 Servlet。
  • 容器、Servlet 與 JSP
Servlet/JSP 所認得的唯一網站就是 Web 容器;Servlet/JSP 各司其則。
  • 關於請求
取得使用者的請求加以處理是 Web 程式服務的開端。
  • 關於回應
正確的回應讓客戶端知道結果是什麼。
  • 會話管理
HTTP 是無狀態協定,Web 程式記不得的資訊,你要主動告知。
  • Servlet API 架構
從 Servlet 介面開始,逐步了解 GenericServlet、HttpServlet、ServletConfig 與 ServletContext。


Servlet 進階
        了解更多 Servlet 元件的定義與使用。
  • 過濾器
有些系統服務,可以使用過濾器來抽換,不用修改應用程式本身。
  • 應用程式事件、傾聽器
對 Web 應用程式特定的事件有興趣時,可以實作傾聽器在事件發生時予以處理。
  • 非同步處理
Servlet 3.0新增了非同步處理功能,可先釋放容器分配給請求的執行緒。
對於基本的安全需求,可以使用 Web 容器所提供的預設處理。
  • Web 應用程式
在 Servlet 3.0 中,除了一定的目錄架構之外,還支援不同的組態與模組抽換。
使用 JSP
      JSP 與 Servlet 是一體兩面,一個面向 Java 開發人員,一個面向網頁美術人員 。
  • 從 JSP 到 Servlet
JSP 會轉譯為 Servlet,每個元素都有對應的 Java 元件。
  • 標準標籤
標準標籤是為了減少網頁上的 Java 程式碼。
  • 運算式語言
EL(Expression language)只能取值不能設值,也是用來減少網頁上的 Java 程式碼。


JSTL 與自訂標籤
        只要適當規劃,完全不使用 Scriptlet 是有可能的。
  • 使用 JSTL
從 JSTL 了解自訂標籤的使用。
  • Tag File 自訂標籤
別在 Tag File 中又寫了 Scriptlet,這跟 JSP 中寫 Scriptlet 沒兩樣。
  • Simple Tag 自訂標籤
Tag File 會轉譯為 Simple Tag,用 Simple Tag 模彷 JSTL,你會更了解 JSTL。
  • Tag 自訂標籤
如果自訂標籤本體中要寫 Scriptlet,或重視效能,那就使用 Tag 自訂標籤。


參考資料