首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP實現登錄與增刪改查完整案例:Oracle數據庫操作指南

     編輯:程式設計綜合問答

需求概覽

初學者請求一個基於 JSP + Oracle 的完整示例,包含用戶登錄驗證、敏感詞/黑名單管理(增刪改查)、可發送/不可發送短信列表查詢。表結構涉及 A(發送失敗)、B(黑名單)、W(關鍵詞)、L(可發送)、N(用戶驗證) 五張表。

核心表結構

  • N 表(用戶驗證):id, Usercode, Password, Name, Ip, Total, DayLimit, Status, insertDt, Memo
  • B 表(黑名單):phone, id
  • W 表(敏感詞):word, id
  • L 表(可發送短信):list_id, task_id, content, presend_dt, final_dt, status, caller, chargenum, callee, attemp_count, sms_type, code, sys_type, sys_id, sms_level, gw_status
  • A 表(發送失敗):同 L 表外加 fail_type(1黑名單 2敏感詞)

實現架構建議

1. 數據庫連接池

使用 Druid 或 DBCP 配置 Oracle 連接池,在 web.xml 或 Spring 配置中定義 DataSource。

2. DAO 層封裝

為每張表編寫對應的 DAO 接口與實現類,使用 PreparedStatement 防止 SQL 注入,統一資源關閉邏輯。

3. Service 層業務邏輯

  • UserService.login(usercode, password):查詢 N 表驗證。
  • BlacklistService / KeywordService:提供 CRUD 方法。
  • SmsService.querySendable(...) / queryUnsendable(...):分頁查詢 L/A 表。

4. Servlet/Controller 處理請求

登錄 Servlet 驗證成功後存入 Session;增刪改查操作對應各自 Servlet,返回 JSON 或轉發 JSP。

5. 前端頁面

  • login.jsp:表單提交到 LoginServlet。
  • list.jsp:使用 JSTL <c:forEach> 展示表格,配合分頁導航。
  • edit.jsp:新增/修改彈窗表單,AJAX 提交。

關鍵代碼片段

登錄驗證 SQL

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 數據源。
  • 確保 Oracle 服務可訪問,表空間 BTBASE 存在。

總結

雖然完整代碼篇幅較大,但遵循「DAO-Service-Controller」分層、使用連接池與預編譯語句、前端採用分頁與 AJAX,即可構建健壯、可維護的 JSP 短信管理系統。建議初學者從單表 CRUD 入手,逐步擴展。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved