`
阅读更多

第二种,JavaBean的形式。

package conn;                            //导入包

import java.sql.*;                        //导入数据库操作的类

public class DBConnAccess                //构造方法,初始化

{

    private Connection conn;            //连接对象

    private Statement stmt;                //语句对象

    private ResultSet rs;                //结果集对象

    private String accessdriver;        //保存Access驱动程序字符串

    private String accessURL;             //保存Access连接字符串

    public DBConnAccess()

    {

        //Access驱动程序

        accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver";       

        //连接字符串

        accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";

        conn = null;

    }

    //该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接

    public Connection getConnToAccess(String dbpath){

        try{

            accessURL=accessURL+dbpath;

            Class.forName(accessdriver);

            conn = DriverManager.getConnection(accessURL);

            }catch(Exception e){

                System.out.println("操作数据库出错,请仔细检查");

                System.err.println(e.getMessage());

            }

        return conn;

    }

   //关闭数据库连接

    public void close()

    {

        try{

            //rs.close();

            //stmt.close();

            conn.close();

        }catch(SQLException sqlexception){

            sqlexception.printStackTrace();

        }

    }

}

调用方法如下: 程序代码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*"  %>

<jsp:useBean id="DBConn" scope="page" class="conn.DBConnAccess"/>

<%  //连接Access 数据库

    String dbpath="data/test.mdb";   //数据库的路径,请自行修改

    Connection conn=DBConn.getConnToAccess(application.getRealPath(dbpath));

    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

    String sql="select * from username order by id";

    //String sql1="insert into username (uid,pwd) values('wsp','wsp')";

    //stmt.executeUpdate(sql1);

    ResultSet rs=stmt.executeQuery(sql);

    while(rs.next()){

    out.print("用户名:");

    out.print(rs.getString("uid")+" 密码:");

    out.println(rs.getString("pwd")+"<br>");

    }

    DBConn.close();

%>

第一种,jsp页面连接

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%

    // ******* 数据库连接代码 开始  *****

    //异常处理语句

    try

{   //以下几项请自行修改

        String spath = "data/test.mdb";//Access 数据库路径

        String dbpath = application.getRealPath(spath);//转化成物理路径

        String dbname = "";        //Acvess 数据库用户名,没有则为空

        String user = "";        //Access 数据库密码,没有则为空

//数据库连接字符串

        String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;

        //加载驱动程序

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        //建立连接

        Connection conn= DriverManager.getConnection(url);

        //创建语句对象

        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

        // ****   数据库连接代码 结束 ******

       //*********  测试数据代码开始  ******

        //请在数据库中建立username表,表中建立两个字段uidpwd,类型为文本型

        String sql = "select * from username";

        ResultSet rs = stmt.executeQuery(sql);

        while(rs.next())

        {   out.print("用户名:" + rs.getString("uid"));

            out.print("  密码:" + rs.getString("pwd") + "<br>");

        }

        out.print("<br>恭喜你!数据库连接成功!");

        rs.close();                                    //关闭记录集对象

        stmt.close();                                //关闭语句对象

        conn.close();                                //关闭连接对象

    }catch(Exception e){

        out.print("数据库连接错误!,错误信息如下:<br>");

        out.print(e.getMessage());

        }  //*******   测试数据代码结束  *******

%>

jsp连接SQLServer数据库的代码

要正确的使用这段代码,你需要首先在SQLServer数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。

欢迎各位提出改进的意见。

以下用两种方式来实现jsp连接SQLServer数据库。

第一种JSP形式。  程序代码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*"%>

<% 

    /*********************

     *********  JDBC_ODBC连接 SQL Server 数据库,不需要设置数据源

     *********  Date: 2005.8

     *********  Email:fanwsp@126.com

     *********  Author: DreamTime [梦想年华]

     *********  有任何欢迎提出指正  

     ****************************/

    //请根据需要,选择一种方法,去掉相应的方法的注释,并注释其它没有使用的

    //以下几项请自行修改

    String server="localhost";        //SQL Server 服务器的地址

    String dbname="test";            //SQL Server 数据库的名字

    String user="sa";                //SQL Server 数据库的登录用户名

    String pass="chfanwsp";            //SQL Server 数据库的登录密码

    String port="1433";                //SQL Server 服务器的端口号,默认为1433

     /*****  方法1 *******

     *    net.sourceforge.jtds.jdbc.Driver 

     *            (http://jtds.sourceforge.net/)                                 *

     *    Win2003Server上安装SQLSERVER2000,必须安装补丁sp3                     *

     *************************/

    // *******数据库连接代码 开始  *******

        //数据库连接字符串

        String url="jdbc:jtds:sqlserver://"+server+":"+port+"/"+dbname+";USER="+user+";PASSWORD="+pass+"";

        //加载驱动程序

        Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();

        //建立连接

        Connection conn= DriverManager.getConnection(url);

        //创建语句对象

        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

        // ****     数据库连接代码 结束 *********

    /**********          方法2  *******

    *************    用微软提供的JDBC驱动程序   *******

    *******************************************

    *Win2003 Server上安装SQLSERVER2000,必须安装补丁sp3

    ***************************/

    // ******************     数据库连接代码 开始             ******************

    /*

        String url="jdbc:microsoft:sqlserver://"+server+":"+port+";DatabaseName="+dbname+";

USER="+user+";PASSWORD="+pass+"";

        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

        Connection conn= DriverManager.getConnection(url);

        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

    */

    // ****     数据库连接代码 结束 *********

    /**********          方法3  ****************

    *************    JDBC-ODBC桥驱动程序   *********

    ***********************************

    *    Win2003 Server上安装SQLSERVER2000,可能需要安装补丁sp3*

    ***************************/

    // ********* 数据库连接代码 开始 ********

    /*

        String url="jdbc:odbc:Driver={SQL Server};server="+server+";uid="+user+";pwd="+pass+";database="+dbname+"";

        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

        Connection conn= DriverManager.getConnection(url);

        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

    */

    // ****     数据库连接代码 结束 *********

    String sql="select * from username";

    ResultSet rs=stmt.executeQuery(sql);

    //rs.first();

    while(rs.next()){

    out.print("用户名:");

    out.print(rs.getString("uid")+" 密码:");

    out.println(rs.getString("pwd")+"<br>");

    }

    rs.close();

    stmt.close();

    conn.close();

%>

第二种方式,用JavaBean来实现。请看代码:

DBConnSql.java

编译以后的Class文件应该放在 WEB-INF\classes\conn目录下。 程序代码

/*

*******  java连接SQL Server数据库代码  *************

*******          使用Jdbc连接          *************

*/

package conn;                            //导入包

import java.sql.*;                        //导入数据库操作的类

public class DBConnSql                    //构造方法,初始化

{

    private Connection conn;            //连接对象

    private Statement stmt;                //语句对象

    private ResultSet rs;                //结果集对象

    private String sqldriver;            //SQL Server驱动程序字符串

    private String sqlURL;                 //SQL Server连接字符串

    /**********          方法1  *********

     *        net.sourceforge.jtds.jdbc.Driver   ************

     *        (http://jtds.sourceforge.net/)

     *        Win2003Server上安装SQLSERVER2000,必须安装补丁sp3

     *

     *  该方法取得连接所需各种参数,组成连接字符串,然后再建立连接

     *  server;dbname,user,pass,port

     * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口

     *****************************/

          public Connection getConnToSql1(String server,String dbname,String user,String pass,String port){

         //SQL Server驱动程序,用net.sourceforge.jtds.jdbc.Driver

         sqldriver = "net.sourceforge.jtds.jdbc.Driver";   

        sqlURL = "jdbc:jtds:sqlserver://";              //连接字符串一部分

        try{

            //完整的连接字符串

            sqlURL =sqlURL+server+":"+port+"/"+dbname+";USER="+user+";PASSWORD="+pass+"";

            Class.forName(sqldriver);

            conn = DriverManager.getConnection(sqlURL);

            }catch(Exception e){

                System.out.println("操作数据库出错,请仔细检查");

                System.err.println(e.getMessage());

            }

        return conn;

    }

         /**********          方法2  ***************

         ******* 用微软提供的JDBC驱动程序   **************

         *    Win2003 Server上安装SQLSERVER2000,必须安装补丁sp3

         *

         *  该方法取得连接所需各种参数,组成连接字符串,然后再建立连接

         *  server;dbname,user,pass,port

                      * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口

        ********************************/

        public Connection getConnToSql2(String server,String dbname,String user,String pass,String port){

        

         //SQL Server驱动程序,用微软提供的JDBC驱动程序

        sqldriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";   

        sqlURL = "jdbc:microsoft:sqlserver://";          //连接字符串一部分

        try{

            //完整的连接字符串

            sqlURL =sqlURL+server+":"+port+";DatabaseName="+dbname+";USER="+user+";PASSWORD="+pass+"";

            Class.forName(sqldriver);

            conn = DriverManager.getConnection(sqlURL);

            }catch(Exception e){

                System.out.println("操作数据库出错,请仔细检查");

                System.err.println(e.getMessage());

            }

        return conn;

    }

        /**********          方法3  **************

         *************    JDBC-ODBC桥驱动程序   **********

         *    Win2003 Server上安装SQLSERVER2000,可能需要安装补丁sp3

         *

         * 该方法取得连接所需各种参数,组成连接字符串,然后再建立连接

         * server;dbname,user,pass,port

         * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口

        **********************************************/

        public Connection getConnToSql3(String server,String dbname,String user,String pass,String port){

        //SQL Server驱动程序,用微软提供的JDBC驱动程序

        sqldriver = "sun.jdbc.odbc.JdbcOdbcDriver";   

        sqlURL = "jdbc:odbc:Driver={SQL Server};";          //连接字符串一部分

        try{

            //完整的连接字符串

            sqlURL =sqlURL+"server="+server+";uid="+user+";pwd="+pass+";database="+dbname+"";

            Class.forName(sqldriver);

            conn = DriverManager.getConnection(sqlURL);

            }catch(Exception e){

                System.out.println("操作数据库出错,请仔细检查");

                System.err.println(e.getMessage());

            }

        return conn;

    }

    //关闭数据库连接

    public void close()

{

        try{

            //rs.close();

            //stmt.close();

            conn.close();

        }catch(SQLException sqlexception){

            sqlexception.printStackTrace();

        }

    }

}

这个文件只是实现了数据库的连接,下面我们再写一个测试文件。

就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。

connsql.jsp 文件源代码如下: 程序代码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*"  %>

<jsp:useBean id="DBConn" scope="page" class="conn.DBConnSql"/>

<%

    /*****  说明:本数据库连接一共提供了三种方法:

      一、用net.sourceforge.jtds.jdbc.Driver,请调用getConnToSql1方法。

      二、用微软提供的JDBC驱动程序,请调用getConnToSql2方法。

      三、用JDBC-ODBC桥驱动程序连接,请调用getConnToSql3方法。

     本例使用的是第一种方法,调用getConnToSql1方法。请根据自己的实际情况进行修改

     如果是第二种方法请把 Connection conn=DBConn.getConnToSql1(server,dbname,user,pass);

                 里面语句改为:

     Connection conn=DBConn.getConnToSql2(server,dbname,user,pass);

                 其它类此。

    *****************************************************/

    //连接 <span lan

分享到:
评论

相关推荐

    很有用的java资料

    很有用的java资料 值得收藏的好东西很有用的java资料 值得收藏的好东西很有用的java资料 值得收藏的好东西很有用的java资料 值得收藏的好东西

    java资料java资料java资料java资料java资料

    描述中的“java资料java资料java资料java资料java资料java资料java资料java资料java资料java资料java资料java资料”可能是强调资料的丰富性和全面性,涵盖了多个方面,如基础语法、类与对象、接口、异常处理、多线程...

    唐山师范学院-java资料

    【标题】:“唐山师范学院-java资料”所涵盖的知识点 这篇资料主要针对的是唐山师范学院的学生,特别是学习Java编程语言的群体。Java是一种广泛应用的面向对象的编程语言,由Sun Microsystems(现为Oracle ...

    java资料 java学习课程 java 插件

    "Java资料"这个标题暗示了我们即将探讨的是关于Java学习的各种资源,包括课程、教程和可能的开发工具。"Java学习课程"表明这些资料是专门为那些想要学习或提升Java技能的人准备的。 "Java基础教程"这部分内容通常会...

    绝密 java资料 绝密 java资料 1 (共2)

    绝密 java资料 绝密 java资料 绝密 java资料 野兽

    Java学习资料全套.zip

    最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java学习资料打包 最新全套Java...

    达内java资料10 pdf

    【标题】"达内java资料10 pdf"指的是由知名教育机构达内教育提供的第十辑Java编程学习资料,这份资料以PDF格式呈现,通常包含了深入的Java编程理论、实例解析和可能的实战项目。 【描述】"达内java资料10ajax ...

    东软JAVA资料收集

    【东软JAVA资料收集】是一份集合了东软公司内部培训资源的JAVA学习材料,旨在为初学者提供全面且深入的JAVA编程知识。这份资料很可能包含了东软在培养JAVA开发人员过程中所使用的教程、案例、练习和解决方案,体现了...

    JAVA 资料库这是本人学习时,总结的JAVA资料.

    Java 培训资料,这是本人学习时,总结的JAVA资料. 欢迎大家批评指正. 谢谢!

    Java,Java培训资料,Java资料

    这份“Java培训资料”可能包含了学习Java编程的基础到进阶的知识点。 1. **Java基础知识**:Java的基础包括语法结构、变量、数据类型、运算符、流程控制(如if语句、switch语句、for循环、while循环)、数组等。...

    JAVA 资料库,这是本人学习JAVA时总结的资料,欢迎大家

    JAVA 资料库,这是本人学习JAVA时总结的资料,欢迎大家 批评指正,谢谢!

    绝密 java资料 绝密 java资料 2(共2)

    绝密 java资料 绝密 java资料 绝密 java资料 野兽

    非常好的java资料14

    非常好的java资料14非常好的java资料14

    java资料,java虚拟机

    java资料,java虚拟机

    java资料分享概括

    java资料分享概括

    长久以来对java资料的一次筛选集合

    我眼中的JAVA经典书籍资料,内含编码的奥秘,此资料夹中有很多压缩文件,包含了各种java书籍。

Global site tag (gtag.js) - Google Analytics