首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> .NET 實例教學

JSP 連接 SQL Server 數據庫完整實現:ConnDB 工具類與數據讀取示例

     編輯:.NET 實例教學

數據庫連接工具類設計

封裝 JDBC 連接邏輯,提供可復用的 ConnDB 類,支援 SQL Server 2000/2005/2008 等版本:

package com;

import java.sql.*;

public class ConnDB {
    // 數據庫驅動(SQL Server 2000 驅動)
    // public String Dbdriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

    public Connection DBconn(String serverName, String dbName, String user, String pwd) {
        Connection conn = null;
        try {
            // 加載驅動
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
            
            // 構建連接 URL:jdbc:microsoft:sqlserver://主機:1433;DatabaseName=數據庫
            String url = "jdbc:microsoft:sqlserver://" + serverName + ":1433;DatabaseName=" + dbName;
            
            // 建立連接
            conn = DriverManager.getConnection(url, user, pwd);
            return conn;
        } catch (Exception ee) {
            System.out.print(ee.toString());
            return conn; // 異常時返回 null
        }
    }
}

關鍵配置說明

  • 驅動類:com.microsoft.jdbc.sqlserver.SQLServerDriver(SQL Server 2000 JDBC 驅動)
  • 連接 URL 格式:jdbc:microsoft:sqlserver://host:port;DatabaseName=dbname
  • 默認端口:1433
  • 異常處理:捕獲所有異常並輸出堆棧信息,調用方需檢查返回值是否為 null

JSP 頁面調用示例

<%@ page import="java.sql.*, com.ConnDB" %>
<%
    ConnDB db = new ConnDB();
    Connection conn = db.DBconn("localhost", "MyDatabase", "sa", "password");
    
    if (conn != null) {
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM Users");
        
        while (rs.next()) {
            out.println("用戶: " + rs.getString("username") + "<br>");
        }
        
        rs.close();
        stmt.close();
        conn.close();
    } else {
        out.println("數據庫連接失敗!");
    }
%>

最佳實踐建議

  1. 生產環境建議使用連接池(如 DBCP、C3P0)替代直接創建連接
  2. SQL Server 2005+ 建議換用 com.microsoft.sqlserver.jdbc.SQLServerDriver (sqljdbc.jar)
  3. 採用 PreparedStatement 防止 SQL 注入
  4. 在 finally 塊中確保資源釋放
  5. 生產環境避免在 JSP 中直寫數據庫邏輯,應分層至 DAO 層
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved