初學者請求一個基於 JSP + Oracle 的完整示例,包含用戶登錄驗證、敏感詞/黑名單管理(增刪改查)、可發送/不可發送短信列表查詢。表結構涉及 A(發送失敗)、B(黑名單)、W(關鍵詞)、L(可發送)、N(用戶驗證) 五張表。
使用 Druid 或 DBCP 配置 Oracle 連接池,在 web.xml 或 Spring 配置中定義 DataSource。
為每張表編寫對應的 DAO 接口與實現類,使用 PreparedStatement 防止 SQL 注入,統一資源關閉邏輯。
UserService.login(usercode, password):查詢 N 表驗證。BlacklistService / KeywordService:提供 CRUD 方法。SmsService.querySendable(...) / queryUnsendable(...):分頁查詢 L/A 表。登錄 Servlet 驗證成功後存入 Session;增刪改查操作對應各自 Servlet,返回 JSON 或轉發 JSP。
<c:forEach> 展示表格,配合分頁導航。SELECT * FROM N WHERE Usercode = ? AND Password = ? AND Status = 1
SELECT * FROM (
SELECT t.*, ROWNUM rn FROM (
SELECT list_id, caller, content, callee, status FROM L WHERE 1=1
/* 動態拼接查詢條件 */
ORDER BY presend_dt DESC
) t WHERE ROWNUM <= ?
) WHERE rn > ?
ojdbc8.jar 到 WEB-INF/lib。context.xml 或 server.xml 定義 JNDI 數據源。BTBASE 存在。雖然完整代碼篇幅較大,但遵循「DAO-Service-Controller」分層、使用連接池與預編譯語句、前端採用分頁與 AJAX,即可構建健壯、可維護的 JSP 短信管理系統。建議初學者從單表 CRUD 入手,逐步擴展。