為什麼需要設計原則
大量 Scriptlet 與 HTML 混雜導致程式碼難讀、難維護、難重用。CSDN 論壇常見「代碼很長、邏輯不清」即為隨意開發的後果。
Servlet 概覽
- 取代 CGI:同進程多執行緒,效能優、開發易、功能強、安全、可移植。
- 核心:
service() 派發 doGet/doPost,單一實例服務所有請求。
- 優勢:繼承 Java 平台優勢 (安全、JDBC、跨平台) + 執行緒高效能。
JSP 運作原理
- JSP 檔案 (
.jsp) 經 JSP 引擎翻譯為 Java 原始碼 (Servlet)。
- 編譯為 Class,由 Servlet 引擎載入執行。
- 支援熱部署:修改即時生效,無需手動編譯打包。

核心設計原則
- 分離關注點:JSP 只負責呈現,業務邏輯移至 JavaBean/Servlet。
- 避免過度 Scriptlet:改用 JSTL/EL、自訂 Tag、或前端框架。
- MVC 架構:Servlet 做 Controller,JSP 做 View,JavaBean/EJB 做 Model。
- 資源集中管理:資料庫連線池、快取、設定檔集中在 ServletContext/Listener 初始化。
- 錯誤處理統一:
errorPage 機制 + 友好錯誤頁,避免堆疊追蹤外洩。