Tomcat 並發承載上限受限於兩大核心消耗:
將動態 JSP 預渲染為純靜態 .html 檔案,部署至 Web 伺服器(或 Tomcat 靜態資源目錄)直接服務。
| 優勢 | 劣勢 |
|---|---|
| 零資料庫訪問,消除最大消耗 | 大量 .html 佔用磁碟空間 |
| 零 JSP 解析/編譯,極致回應速度 | 失去動態互動(即時資料、Session、個性化) |
| 天然防參數注入、XSS 等動態風險 | 需穩定的動態頁面作為生成源頭 |
/static/... 根絕對路徑。.jsp 或 .html 片段。<iframe>、AJAX、或 SSI (<!--#include virtual="counter.jsp" -->) 嵌入動態片段。<iframe src="track.jsp"> 可隱形統計 PV。common.html。</html>)存在才入庫。| 場景 | 推薦策略 |
|---|---|
| 內容型站點(新聞、部落格、文檔) | 全站靜態化 + 片段動態化 |
| 電商商品詳情頁 | 商品頁靜態化,價格/庫存/評論 AJAX 獲取 |
| 高互動應用(論壇、社群、即時儀表板) | 不可靜態化,改用快取、CDN、資料庫優化 |
| 混合型 | 核心流程動態,邊緣內容靜態化 |
Cache-Control: max-age=300, stale-while-revalidate=60 利用瀏覽器/CDN 快取減少源站壓力。靜態化是「以空間換時間、以預計算換即時計算」的經典權衡。核心不在於「生成 .html」,而在於識別業務可接受的資料新鮮度邊界,設計增量生成、片段動態化、失效回滾機制。現代架構下,靜態化更多演變為「構建時生成」與「邊緣快取」的結合,而非單純的 JSP 定時抓取。