<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
       :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理

    Java資料

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

    第二種,JavaBean的形式。

    package conn;                            //導(dǎo)入包

    import java.sql.*;                        //導(dǎo)入數(shù)據(jù)庫操作的類

    public class DBConnAccess                //構(gòu)造方法,初始化

    {

        private Connection conn;            //連接對象

        private Statement stmt;                //語句對象

        private ResultSet rs;                //結(jié)果集對象

        private String accessdriver;        //保存Access驅(qū)動程序字符串

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

        public DBConnAccess()

        {

            //Access驅(qū)動程序

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

            //連接字符串

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

            conn = null;

        }

        //該方法從參數(shù)得到數(shù)據(jù)庫路徑,并加到連接字符串后面,然后再建立連接

        public Connection getConnToAccess(String dbpath){

            try{

                accessURL=accessURL+dbpath;

                Class.forName(accessdriver);

                conn = DriverManager.getConnection(accessURL);

                }catch(Exception e){

                    System.out.println("操作數(shù)據(jù)庫出錯,請仔細(xì)檢查");

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

                }

            return conn;

        }

       //關(guān)閉數(shù)據(jù)庫連接

        public void close()

        {

            try{

                //rs.close();

                //stmt.close();

                conn.close();

            }catch(SQLException sqlexception){

                sqlexception.printStackTrace();

            }

        }

    }

    調(diào)用方法如下: 程序代碼

    <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 數(shù)據(jù)庫

        String dbpath="data/test.mdb";   //數(shù)據(jù)庫的路徑,請自行修改

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

    <%

        // ******* 數(shù)據(jù)庫連接代碼 開始  *****

        //異常處理語句

        try

    {   //以下幾項(xiàng)請自行修改

            String spath = "data/test.mdb";//Access 數(shù)據(jù)庫路徑

            String dbpath = application.getRealPath(spath);//轉(zhuǎn)化成物理路徑

            String dbname = "";        //Acvess 數(shù)據(jù)庫用戶名,沒有則為空

            String user = "";        //Access 數(shù)據(jù)庫密碼,沒有則為空

    //數(shù)據(jù)庫連接字符串

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

            //加載驅(qū)動程序

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

            //建立連接

            Connection conn= DriverManager.getConnection(url);

            //創(chuàng)建語句對象

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

            // ****   數(shù)據(jù)庫連接代碼 結(jié)束 ******

           //*********  測試數(shù)據(jù)代碼開始  ******

            //請?jiān)跀?shù)據(jù)庫中建立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>恭喜你!數(shù)據(jù)庫連接成功!");

            rs.close();                                    //關(guān)閉記錄集對象

            stmt.close();                                //關(guān)閉語句對象

            conn.close();                                //關(guān)閉連接對象

        }catch(Exception e){

            out.print("數(shù)據(jù)庫連接錯誤!,錯誤信息如下:<br>");

            out.print(e.getMessage());

            }  //*******   測試數(shù)據(jù)代碼結(jié)束  *******

    %>

    jsp連接SQLServer數(shù)據(jù)庫的代碼

    要正確的使用這段代碼,你需要首先在SQLServer數(shù)據(jù)庫里創(chuàng)建一username表,表里面創(chuàng)建兩個字符型的字段,字段名分別為:uid,pwd,然后插入幾條測試數(shù)據(jù)。

    歡迎各位提出改進(jìn)的意見。

    以下用兩種方式來實(shí)現(xiàn)jsp連接SQLServer數(shù)據(jù)庫。

    第一種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 數(shù)據(jù)庫,不需要設(shè)置數(shù)據(jù)源

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

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

         *********  Author: DreamTime [夢想年華]

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

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

        //請根據(jù)需要,選擇一種方法,去掉相應(yīng)的方法的注釋,并注釋其它沒有使用的

        //以下幾項(xiàng)請自行修改

        String server="localhost";        //SQL Server 服務(wù)器的地址

        String dbname="test";            //SQL Server 數(shù)據(jù)庫的名字

        String user="sa";                //SQL Server 數(shù)據(jù)庫的登錄用戶名

        String pass="chfanwsp";            //SQL Server 數(shù)據(jù)庫的登錄密碼

        String port="1433";                //SQL Server 服務(wù)器的端口號,默認(rèn)為1433

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

         *    net.sourceforge.jtds.jdbc.Driver 

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

         *    Win2003Server上安裝SQLSERVER2000,必須安裝補(bǔ)丁sp3                     *

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

        // *******數(shù)據(jù)庫連接代碼 開始  *******

            //數(shù)據(jù)庫連接字符串

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

            //加載驅(qū)動程序

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

            //建立連接

            Connection conn= DriverManager.getConnection(url);

            //創(chuàng)建語句對象

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

            // ****     數(shù)據(jù)庫連接代碼 結(jié)束 *********

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

        *************    用微軟提供的JDBC驅(qū)動程序   *******

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

        *Win2003 Server上安裝SQLSERVER2000,必須安裝補(bǔ)丁sp3

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

        // ******************     數(shù)據(jù)庫連接代碼 開始             ******************

        /*

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

        */

        // ****     數(shù)據(jù)庫連接代碼 結(jié)束 *********

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

        *************    JDBC-ODBC橋驅(qū)動程序   *********

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

        *    Win2003 Server上安裝SQLSERVER2000,可能需要安裝補(bǔ)丁sp3*

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

        // ********* 數(shù)據(jù)庫連接代碼 開始 ********

        /*

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

        */

        // ****     數(shù)據(jù)庫連接代碼 結(jié)束 *********

        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來實(shí)現(xiàn)。請看代碼:

    DBConnSql.java

    編譯以后的Class文件應(yīng)該放在 WEB-INF\classes\conn目錄下。 程序代碼

    /*

    *******  java連接SQL Server數(shù)據(jù)庫代碼  *************

    *******          使用Jdbc連接          *************

    */

    package conn;                            //導(dǎo)入包

    import java.sql.*;                        //導(dǎo)入數(shù)據(jù)庫操作的類

    public class DBConnSql                    //構(gòu)造方法,初始化

    {

        private Connection conn;            //連接對象

        private Statement stmt;                //語句對象

        private ResultSet rs;                //結(jié)果集對象

        private String sqldriver;            //SQL Server驅(qū)動程序字符串

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

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

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

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

         *        Win2003Server上安裝SQLSERVER2000,必須安裝補(bǔ)丁sp3

         *

         *  該方法取得連接所需各種參數(shù),組成連接字符串,然后再建立連接

         *  server;dbname,user,pass,port

         * 分別表示SQL Server 服務(wù)器的地址,數(shù)據(jù)庫,用戶名,密碼,端口

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

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

             //SQL Server驅(qū)動程序,用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("操作數(shù)據(jù)庫出錯,請仔細(xì)檢查");

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

                }

            return conn;

        }

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

             ******* 用微軟提供的JDBC驅(qū)動程序   **************

             *    Win2003 Server上安裝SQLSERVER2000,必須安裝補(bǔ)丁sp3

             *

             *  該方法取得連接所需各種參數(shù),組成連接字符串,然后再建立連接

             *  server;dbname,user,pass,port

                          * 分別表示SQL Server 服務(wù)器的地址,數(shù)據(jù)庫,用戶名,密碼,端口

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

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

            

             //SQL Server驅(qū)動程序,用微軟提供的JDBC驅(qū)動程序

            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("操作數(shù)據(jù)庫出錯,請仔細(xì)檢查");

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

                }

            return conn;

        }

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

             *************    JDBC-ODBC橋驅(qū)動程序   **********

             *    Win2003 Server上安裝SQLSERVER2000,可能需要安裝補(bǔ)丁sp3

             *

             * 該方法取得連接所需各種參數(shù),組成連接字符串,然后再建立連接

             * server;dbname,user,pass,port

             * 分別表示SQL Server 服務(wù)器的地址,數(shù)據(jù)庫,用戶名,密碼,端口

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

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

            //SQL Server驅(qū)動程序,用微軟提供的JDBC驅(qū)動程序

            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("操作數(shù)據(jù)庫出錯,請仔細(xì)檢查");

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

                }

            return conn;

        }

        //關(guān)閉數(shù)據(jù)庫連接

        public void close()

    {

            try{

                //rs.close();

                //stmt.close();

                conn.close();

            }catch(SQLException sqlexception){

                sqlexception.printStackTrace();

            }

        }

    }

    這個文件只是實(shí)現(xiàn)了數(shù)據(jù)庫的連接,下面我們再寫一個測試文件。

    就是用sql語句從數(shù)據(jù)庫里查詢出記錄,以驗(yàn)證我們數(shù)據(jù)庫的連接是否成功。

    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"/>

    <%

        /*****  說明:本數(shù)據(jù)庫連接一共提供了三種方法:

          一、用net.sourceforge.jtds.jdbc.Driver,請調(diào)用getConnToSql1方法。

          二、用微軟提供的JDBC驅(qū)動程序,請調(diào)用getConnToSql2方法。

          三、用JDBC-ODBC橋驅(qū)動程序連接,請調(diào)用getConnToSql3方法。

         本例使用的是第一種方法,調(diào)用getConnToSql1方法。請根據(jù)自己的實(shí)際情況進(jìn)行修改

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

                     里面語句改為:

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

                     其它類此。

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

        //連接 SQL Server 數(shù)據(jù)庫所需各種參數(shù),請自行修改

        String server="localhost";        //SQL Server 服務(wù)器的地址

        String dbname="test";            //SQL Server 數(shù)據(jù)庫的名字

        String user="sa";                //SQL Server 數(shù)據(jù)庫的登錄用戶名

        String pass="chfanwsp";            //SQL Server 數(shù)據(jù)庫的登錄密碼

        String port ="1433";            //SQL Server 服務(wù)器的端口號,默認(rèn)為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實(shí)現(xiàn)文件操作:

    一個用java實(shí)現(xiàn)對文件的操作。完成了如創(chuàng)建目錄及文件,復(fù)制目錄及文件以及刪除等功能。

    主要用到了javaFile類,FileInputStream類,FileOutputStream,FileWriter,PrintWriterInputStream,OutputStream ,BufferedReaderFileReader等相關(guān)類。

    程序在某些方的實(shí)現(xiàn)可能存在一些問題,歡迎各位提出指正。

     程序代碼

    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();//中文轉(zhuǎn)換

                //創(chuàng)建一個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;

                }

            }

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

             * 復(fù)制文件

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

            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;

                    }

            }

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

             * 復(fù)制文件夾

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

            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;

                 }

            }

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

             * 得到文本文件的內(nèi)容

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

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

            //目錄創(chuàng)建測試

            s2="F:/Test/Test1";

            if (file1.newFolder(s2))

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

            else

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

            //文件創(chuàng)建測試

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

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

            file1.delFile(s1);

            if (file1.newFile(s1,s2))

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

            else

                System.out.println("創(chuàng)建文件 " + 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 + " 失敗!!");

            //復(fù)制文件測試

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

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

            if (file1.copyFile(s1,s2))

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

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

            //復(fù)制目錄測試

            s1="F:/Test/Test1";

            s2="F:/Test/Test2";

            if (file1.copyFolder(s1,s2))

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

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

            //得到文件內(nèi)容測試

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

            }

    }



    沒有所謂的命運(yùn),只有不同的選擇!
    主站蜘蛛池模板: 精品国产麻豆免费网站| 免费黄网站在线看| 亚洲AV无码AV吞精久久| 亚洲一区二区三区在线观看网站| ww亚洲ww在线观看国产| 亚洲第一成人在线| 成人亚洲国产va天堂| 亚洲精品宾馆在线精品酒店| 亚洲AV色欲色欲WWW| 美景之屋4在线未删减免费| 日本一区二区三区免费高清在线 | 亚洲色欲久久久久综合网| 亚洲成a人一区二区三区| 久久久久亚洲av毛片大| 国产国拍亚洲精品mv在线观看 | heyzo亚洲精品日韩| 亚洲欧洲精品成人久久奇米网| 国产精品亚洲mnbav网站 | 国产亚洲AV无码AV男人的天堂| 国产精品久久久亚洲| 亚洲色av性色在线观无码| 亚洲偷自精品三十六区| 亚洲精品天堂无码中文字幕| 日韩大片在线永久免费观看网站| 久久成人18免费网站| 色欲色香天天天综合网站免费 | 9久热这里只有精品免费| 亚洲免费视频在线观看| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 亚洲国产精品va在线播放| 亚洲av伊人久久综合密臀性色| 亚洲性色成人av天堂| 亚洲精品无码少妇30P| 一级做a爰全过程免费视频毛片| a级在线观看免费| 免费成人福利视频| 四虎影视精品永久免费| 亚洲精品成人片在线播放 | 亚洲国产精品一区二区九九| 久久精品亚洲中文字幕无码网站| 亚洲国产成人99精品激情在线|