JSP 內建實用工具可從資料庫讀取資料並以圓餅圖呈現。本文以水果銷售統計為例,示範完整實作流程。
com.sun.image.codec.jpeg 類別兩張表:p_products(產品主檔)與 p_sales(銷售明細)。
| p_products | 型態 |
|---|---|
| productID | int NOT NULL |
| productname | varchar NOT NULL |
| p_sales | 型態 |
|---|---|
| saleID | int NOT NULL |
| productID | int NOT NULL(外鍵) |
| amount | float NOT NULL(銷售金額) |
連接兩張表,取得所有產品名稱陣列:
public String[] getProducts() {
String[] arr = new String[0];
Connection con; Statement stmt; ResultSet rs;
int count = 0;
String sql = "select * from p_products order by productID";
try {
con = DriverManager.getConnection(dburl, dbuid, dbpwd);
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) count++;
arr = new String[count];
rs = stmt.executeQuery(sql); // 重新查詢填充陣列
while (rs.next()) {
arr[rs.getInt("productID")] = rs.getString("productname");
}
stmt.close(); con.close();
} catch (Exception ex) { arr[0] = ex.toString(); }
return arr;
}
後續步驟(未在原文完整呈現)包含:查詢各產品銷售總額、計算百分比、使用 Java 2D API 繪製圓餅圖並輸出 JPEG 圖片流至瀏覽器。此範例展示了 JSP 整合資料庫與圖形繪製的基礎架構。