JSP 定義與定位
JSP (JavaServer Pages) 由 Sun 倡導、多公司共同制定的動態網頁技術標準,實現靜態 HTML 與動態內容混合編碼。JSP 在伺服器端執行,將 Java 程式碼內嵌 HTML,取代傳統 CGI/ISAPI/IDC,僅針對動態片段生成內容,靜態部分直接輸出。
六大核心優勢
- 內容生成與顯示分離:設計師用 HTML/XML 佈局,動態邏輯封裝於標籤/JavaBeans/Scriptlet,伺服器端執行,保護代碼並確保瀏覽器相容。
- 可重用跨平台組件:依賴 JavaBeans/EJB 組件,加速開發、技能複用。
- 標籤簡化開發:標準標籤存取 Bean、屬性、Applet;可擴展自定義標籤庫,設計師像用 HTML 一樣使用功能標籤。
- 健壯性與安全性:編譯為 Servlet,繼承 Java 記憶體管理與安全模型。
- 優異移植性:「一次編寫,到處運行」,支援多伺服器/工具選擇。
- 企業級擴展與效能:整合 J2EE/EJB 獲得高擴展性能。
與同類技術對比
| 技術 | 差異點 |
| Servlet | JSP 無本質新功能,但寫靜態 HTML 更便利,內容/外觀分離更清晰。 |
| SSI | JSP 支援更完善,用 Servlet 而非獨立程式生成動態內容,不限於簡單包含。 |
| JavaScript | 客戶端技術,無法存取伺服器資源 (DB、目錄),HTTP 狀態/表單數據受限。 |
JSP 2.1 / JSF 1.2 統一表達語言 (EL)
- JSP 2.1 將 EL 獨立為規範子文檔,定義
javax.el 套件,技術中立可插拔。
- JSF 1.2 採用標準化 EL,修復 Bug。
- 未來 JSP 與 JSF 將深度融合,統一表現層技術。JSP 頁面可直接存取 JSF Managed Beans。