<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89, comments - 241, trackbacks - 0, articles - 1
       :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

    Java資料

    Posted on 2009-04-03 17:07 saobaolu 閱讀(310) 評論(1)  編輯  收藏 所屬分類: java基礎與算法

    第二種,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);

                     其它類此。

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

        //連接 SQL Server 數據庫所需各種參數,請自行修改

        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

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

        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>");

        }

        rs.close();

        stmt.close();

        conn.close();

        //DBConn.close();

    %>

    Java實現文件操作:

    一個用java實現對文件的操作。完成了如創建目錄及文件,復制目錄及文件以及刪除等功能。

    主要用到了javaFile類,FileInputStream類,FileOutputStreamFileWriter,PrintWriter,InputStream,OutputStream BufferedReaderFileReader等相關類。

    程序在某些方的實現可能存在一些問題,歡迎各位提出指正。

     程序代碼

    package file;

    import java.io.*;

    public class FileClass {

        //private String sFileName;

        //private String sFolderName;

        String sPath;

        String sFilePath;

        String sContent;

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

             * 新建目錄

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

            public boolean newFolder(String s)

            {

                sPath = s;

                sPath = sPath.toString();//中文轉換

                //創建一個File(文件)對象

                File myFilePath = new File(sPath);

                if(!myFilePath.exists())

                {

                    try

                    {   

                        myFilePath.mkdirs();

                        return true;

                    }catch(Exception e)

                    {

                        e.printStackTrace();

                        return false;

                    }

                }

                else return false;

            }

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

             * 新建文件

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

            public boolean newFile(String s1,String s2)

            {

                sFilePath = s1;

                sContent = s2;

                sFilePath = sFilePath.toString();

                File myFilePath = new File(sFilePath);

                if(!myFilePath.exists())

                {

                    try

                    {   

                        myFilePath.createNewFile();

                        FileWriter resultFile=new FileWriter(myFilePath);

                        PrintWriter myFile=new PrintWriter(resultFile);

                        String sContent = s2.toString();

                        myFile.println(sContent);

                        myFile.close();

                        resultFile.close();

                        return true;

                    }catch(Exception e)

                    {

                        e.printStackTrace();

                        return false;

                    }

                }

                else return false;

            }

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

             * 刪除文件

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

            public boolean delFile(String s)

            {

                sFilePath = s;

                sFilePath = sFilePath.toString();

                File dFile = new File(sFilePath);

                if(dFile.exists())

                {

                    try

                    {   

                        dFile.delete();

                        return true;

                    }catch(Exception e)

                    {

                        e.printStackTrace();

                        return false;

                    }

                }

                else

                {

                    System.out.print("文件:" + s + "不存在!");

                    return false;

                }

            }

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

             * 復制文件

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

            public boolean copyFile(String s1,String s2)

            {

                int bytesum=0;

                int byteread=0;

                //file:讀到流中

                try

                {

                    InputStream inStream=new FileInputStream(s1);

                    FileOutputStream fs=new FileOutputStream(s2);

                    byte[]  buffer =new  byte[1444];

                    while ((byteread=inStream.read(buffer))!=-1)

                    {

                       System.out.println("--  "+byteread+" --");

                       bytesum+=byteread;

                       System.out.println(bytesum);

                       fs.write(buffer,0,byteread);

                    }

                    inStream.close();

                    fs.close();

                    return true;

                }catch(Exception e)

                {     

                    return false;

                    }

            }

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

             * 復制文件夾

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

            public boolean copyFolder(String s1,String s2)

            {

            try{

                (new File(s2)).mkdirs();

                File[] file=(new File(s1)).listFiles();

                for(int i=0;i<file.length;i++)

                {

                    if(file[i].isFile()){

                        file[i].toString();

                        FileInputStream input=new FileInputStream(file[i]);

                        FileOutputStream output=new FileOutputStream(s2+"/"+(file[i].getName()).toString());

                        byte[] b=new byte[1024*5];

                        int len;

                        while((len=input.read(b))!=-1){

                            output.write(b,0,len);

                        }

                        output.flush();

                        output.close();

                        input.close();

                    }

                }

                return true;

             }catch(IOException e){

                 e.printStackTrace();

                 return false;

                 }

            }

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

             * 得到文本文件的內容

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

            public String getFile(String s1)

            {

            try{

                StringBuffer sb = new StringBuffer();

                BufferedReader in = new BufferedReader(new FileReader(s1));

                while(in.readLine()!=null){

                    sb.append(in.readLine()+"\n\r");

                }

                return sb.toString();

             }catch(IOException e){

                 e.printStackTrace();

                 return null;

                 }

            }

        /**

         * @param args

         */

        public static void main(String[] args) {

            // TODO 自動生成方法存根

            String s1="";

            String s2="";

            FileClass file1 = new FileClass();

            //目錄創建測試

            s2="F:/Test/Test1";

            if (file1.newFolder(s2))

                System.out.println("創建目錄 " + s2 + " 成功!");

            else

                System.out.println("創建目錄 " + s2 + " 失敗!!");

            //文件創建測試

            s1="F:/Test/Test1/Test.txt";

            s2="這是一個測試文件!";

            file1.delFile(s1);

            if (file1.newFile(s1,s2))

                System.out.println("創建文件 " + s1 + " 成功!");

            else

                System.out.println("創建文件 " + s1 + " 失敗!!");

            System.out.print("\n"+s2);

            //文件刪除測試

            s1="F:/Test/Test1/Test.txt";

            if (file1.delFile(s1))

                System.out.println("刪除文件 " + s1 + " 成功!");

            else

                System.out.println("刪除文件 " + s1 + " 失敗!!");

            //復制文件測試

            s1="F:/Test/Test1/Test.txt";

            s2="F:/Test/Test1/Test1.txt";

            if (file1.copyFile(s1,s2))

                System.out.print("把文件 "+s1+"成功復制到 "+s2);

            else System.out.print("復制文件失敗!");

            //復制目錄測試

            s1="F:/Test/Test1";

            s2="F:/Test/Test2";

            if (file1.copyFolder(s1,s2))

                System.out.print("把文件夾 "+s1+" 成功復制到文件夾 "+s2);

            else System.out.print("復制文件夾失敗!");

            //得到文件內容測試

            System.out.print(file1.getFile("F:/Test/Test1/Test1.txt"));

            }

    }



    沒有所謂的命運,只有不同的選擇!
    主站蜘蛛池模板: 高清永久免费观看 | 国产国拍亚洲精品福利| 日韩电影免费在线观看| 黄色毛片视频免费| 永久免费AV无码国产网站| 成人免费无码H在线观看不卡| 在线亚洲午夜片AV大片| 国拍在线精品视频免费观看| 国产精品九九久久免费视频| 亚洲Av永久无码精品黑人| 在线亚洲精品福利网址导航| 特级精品毛片免费观看| 亚洲精品无码人妻无码| 亚洲国产精品无码久久SM| 亚洲av无码天堂一区二区三区 | 女人被弄到高潮的免费视频| 亚洲第一视频在线观看免费| 亚洲国产精品日韩av不卡在线| 亚洲人成电影青青在线播放| 久久精品国产亚洲AV高清热| 亚洲va久久久噜噜噜久久天堂| 午夜一区二区免费视频| 2021免费日韩视频网| 日本免费xxxx| 中国一级毛片视频免费看| 手机永久免费的AV在线电影网| 日本亚洲中午字幕乱码| 亚洲欧洲精品国产区| 亚洲一区二区中文| 亚洲欧洲日韩不卡| 久久久久亚洲精品无码系列| 国产V亚洲V天堂A无码| 亚洲精品无码成人AAA片| 国产亚洲自拍一区| 亚洲愉拍99热成人精品热久久| 国产啪亚洲国产精品无码| 中文字幕亚洲一区| 精品国产亚洲一区二区三区| 亚洲大尺度无码专区尤物| 婷婷精品国产亚洲AV麻豆不片| 亚洲激情在线视频|