需求場景
在 JSP 頁面中從 MySQL 讀取數據,動態生成餅圖或柱狀圖展示統計結果。
推薦方案:iChart.js (前端渲染)
- 優勢:純 JavaScript 實現,無需後端生成圖片,交互性強(工具提示、動畫、點擊事件),輕量級,部署簡單。
- 獲取地址:iChart.js 1.1 源碼
- 集成步驟:
- 引入
ichart.js 及依賴的 jquery.js。
- 在 JSP 中定義
<div id="chartDiv"></div> 作為容器。
- 通過 AJAX 獲取後端 JSON 數據,調用 iChart API 繪製。
備選方案:JFreeChart (後端生成靜態圖片)
- 老牌 Java 圖表庫,功能強大但較重。
- 需在 Servlet/Controller 中生成
BufferedImage,輸出流返回 <img src="chartServlet">。
- 缺點:無前端交互,高併發下服務端 CPU 佔用高,圖片緩存處理麻煩。
選型建議
現代 Web 應用首選前端圖表庫(iChart.js、ECharts、Chart.js),將渲染壓力分散到客戶端,後端僅提供數據 API。