名詞定義
- JSP (JavaServer Pages):動態網頁技術標準,後綴
.jsp,專注頁面生成與表單處理;
- J2EE (Java 2 Platform, Enterprise Edition):Sun 制定的企業級分布式應用規範體系,核心對手為 ASP.NET。
隸屬關係:JSP ⊂ J2EE
JSP 僅屬表現層一環。理想 J2EE 架構中:
- JSP = 筆的外套:負責「寫出字跡」(渲染頁面),用戶可見;
- JavaBean / EJB = 筆芯:核心業務邏輯、數據庫操作、事務控制,用戶不可見,決定系統「顏色、流暢度、穩定性、安全性」;
- 網絡/應用服務器 = 紙:承載運行環境,性能好壞直接影響用戶體驗。
現實中 JSP 也可直連資料庫、寫業務邏輯,但違背「高內聚低耦合」,難以複用、維護、擴展。
J2EE 技術疆域全景
核心:EJB (Enterprise JavaBeans)
三大 Bean 各司其職:
- Entity Bean:持久化領域模型;
- Session Bean:業務流程編排(有狀態/無狀態);
- Message-Driven Bean:異步消息消費。
EJB 站在 J2EE 服務器(WebLogic、WebSphere、JBoss 等)肩膀上,以最簡代碼實現事務、分布式、安全、並發等企業級能力。優秀 EJB 可作為商業組件出售。
分工協作
- JSP/Servlet:接收 HTTP 請求、渲染動態頁面、處理表單提交;
- J2EE 服務器:提供容器服務(事務、連接池、安全、命名、消息等);
- JavaBean/EJB:封裝核心業務規則與數據訪問。
統一本質:.class 字節碼
JSP、Servlet、JavaBean、EJB 最終皆編譯為 .class 運行於 JVM。JSP 實際上會被容器翻譯為 Servlet 再編譯。理解這點,有助於打通「頁面 → 控制器 → 服務 → 持久化」的完整調試鏈路。
性能與資源視角
- Java 以
.class 常駐內存換取運行速度,內存佔用相對較高(低「性能價格比」);
- 需磁碟空間存儲
.java、.class 及版本歷史;
- 架構設計應權衡:硬體成本 vs 開發效率 vs 維護性 vs 擴展性。
入門核心:JSP 做頁面,EJB 做業務,容器做服務,規範做約束。牢記分層職責,是 J2EE 架構師的起點。