本教程將引導你建立一個連接 MySQL 資料庫的簡單 Web 應用程式,涵蓋 JSP、JSTL、JDBC、JNDI 等核心 Java EE 技術,採用兩層式架構(Client ↔ Server/DB),適合具備基本 Web 開發概念的初學者。
假設你已完成「連接 MySQL 資料庫」教程,建立名為 MyNewDatabase 的資料庫,並在 NetBeans 註冊連線。本教程使用的範例資料在 ifpwafcad.sql,包含 Subject 與 Counselor 兩張表。

IFPWAFCAD,選擇專案儲存位置。web.xml 宣告資料源)。index.jsp。<title> 為 IFPWAFCAD Homepage,<h1> 為歡迎標語。response.jsp)、Drop Down List(名稱 subject_id)、Submit Button。<head> 加入 <link rel="stylesheet" type="text/css" href="style.css">。response。IFPWAFCAD - {placeholder},body 置入預留位置的 HTML 表格(顯示主題描述、顧問姓名、聯絡資訊等)。style.css。style。nbuser),否則 GlassFish 無法建立資料源。MyNewDatabase 連線可用,且包含 Subject、Counselor 表與資料。jdbc/IFPWAFCAD。IfpwafcadPool,勾選 Extract from Existing Connection,選擇 jdbc:mysql://localhost:3306/MyNewDatabase。sun-resources.xml,部署專案時 GlassFish 會自動建立資源。web.xml,切到 References 標籤,Resource References > Add。jdbc/IFPWAFCAD,Type: javax.sql.DataSource,Auth: Container。<resource-ref> 元素。mysql-connector-java-5.1.6-bin.jar 複製到 domains/domain1/lib/。index.jsp 頂端插入 DB Report 程式碼片段:變數 subjects、範圍 page、資料源 jdbc/IFPWAFCAD、查詢 SELECT subject_id, name FROM Subject。<sql:query> 與巢狀 <c:forEach> 顯示表格(供測試)。<c:forEach> 移植到表單的 <select> 中:<select name="subject_id">
<c:forEach var="row" items="${subjects.rows}">
<option value="${row.subject_id}">${row.name}</option>
</c:forEach>
</select>
<sql:query> 與表單。response.jsp 頂端插入 DB Query 片段:變數 counselorQuery、資料源 jdbc/IFPWAFCAD、查詢:SELECT * FROM Subject, Counselor
WHERE Counselor.counselor_id = Subject.counselor_idfk
AND Subject.subject_id = ?
<sql:param value="${param.subject_id}"/>
<c:set var="counselorDetails" value="${counselorQuery.rows[0]}"/> 取得第一筆(唯一)記錄。${counselorDetails.columnName} 取代所有預留位置。<%@taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core"%>。index.jsp。response.jsp 顯示對應顧問詳細資料。
| 檢查項目 | 驗證方式 |
|---|---|
| 資料庫資源是否存在 | Services 視窗確認 MySQL 運行、MyNewDatabase 可連線、表資料正確 |
| 連線池與資料源是否建立 | Services > Servers > GlassFish > Resources > JDBC 檢視 jdbc/IFPWAFCAD 與 IfpwafcadPool |
| 驅動程式是否部署 | 檢查 domains/domain1/lib/mysql-connector-java-5.1.6-bin.jar 存在 |
| 資料庫是否有密碼 | MySQL root 需設定非空密碼 |
| 連線池屬性正確性 | GlassFish 管理主控台 > Resources > JDBC > Connection Pools > IfpwafcadPool > Ping 測試 |
本教程示範了從零開始建立資料庫驅動的 Web 應用:專案建立、介面設計、連線池/資料源配置、JSTL SQL 標籤實作動態查詢、EL 運算式綁定資料。雖然兩層架構適合教學,實務上建議採用 MVC 模式(Servlet/JSP 分離)與連線池最佳化配置。希望這能成為你 Java EE 開發旅程的穩固起點!