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

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

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

    JAVA日志

    JAVA日志

     

    2006年11月9日

    請(qǐng)大家?guī)兔?關(guān)于異常:org.springframework.transaction.TransactionSystemException

         摘要: 最近在項(xiàng)目中間遇到一個(gè)棘手的問(wèn)題,希望有經(jīng)驗(yàn)的朋友能幫幫小弟,感激不盡。 具體問(wèn)題是:在工程部署到tomcat,然后啟動(dòng)tamcat,登錄工程,無(wú)任何問(wèn)題,但是問(wèn)題出在大概一個(gè)小時(shí)以后,重新訪問(wèn)工程,登錄時(shí)拋出如下異常:  1Exception Type: org.springframework.transaction.TransactionSystemExc...  閱讀全文

    posted @ 2007-12-15 11:54 小木 閱讀(19216) | 評(píng)論 (4)編輯 收藏

    JS之OOP

    在寫面向?qū)ο蟮腤EB應(yīng)用程序方面JavaSciprt是一種很好的選擇.它能支持OOP.因?yàn)樗ㄟ^(guò)原型支持繼承的方式和通過(guò)屬性和方法的方式一樣好.很多開發(fā)者試圖拋棄JS,試著用C#或JAVA僅是因?yàn)镴S不是他認(rèn)為合適的面向?qū)ο蟮恼Z(yǔ)言.許多人還沒(méi)有認(rèn)識(shí)到j(luò)avascript支持繼承.當(dāng)你寫面向?qū)ο蟮拇a時(shí).它能給你很強(qiáng)大的能量.你也可以使用它寫出可復(fù)用,可封裝的代碼.

    對(duì)象為何如此偉大?
        面向?qū)ο笏枷氲某晒κ怯捎谒抡樟爽F(xiàn)實(shí)中的事物和事物的聯(lián)系.事物有屬性和方法.如果我們描述一個(gè)臺(tái)燈.我們會(huì)說(shuō)它的高度和寬度,比如12CM."開燈"這個(gè)動(dòng)作是它的方法.當(dāng)它是處于開著的狀態(tài)時(shí).它可以被調(diào)亮一點(diǎn)或暗一點(diǎn)(也就是亮度這個(gè)屬性值變大或變小).
       
    javascript 給予了為WEB應(yīng)用程序創(chuàng)建對(duì)象的能力.對(duì)象在需要的時(shí)候相應(yīng)的事件會(huì)被觸發(fā),代碼封裝后,它能被實(shí)例化很多次.在javascript里有幾種創(chuàng)建對(duì)象的方法,在不同的場(chǎng)合可用不同的方法

    1.1JS創(chuàng)建對(duì)象方式之一用 new Object() 來(lái)創(chuàng)建對(duì)象

    .最簡(jiǎn)單的就是用new 操作符,例如:
    <script language="javascript" type="text/javascript">
    person = new Object()
    person.name = "Tim Scarfe"
    person.height = "6Ft"
    person.run = function() {
           this.state = "running"
           this.speed = "4ms^-1"
    }
    </script>
    我們?cè)谶@個(gè)例子里定義了person這個(gè)對(duì)象,然后加入了它的屬性和方法.在這個(gè)例子里,自定義的方法里有兩個(gè)屬性.

    1.2.用文字記號(hào)Literal Notation創(chuàng)建對(duì)象
    用文字記號(hào)也可以創(chuàng)建對(duì)象,但要javascript 1.2以上版本.它的創(chuàng)建形式是多樣的.
    <script language="javascript" type="text/javascript">
    // Object Literals
    timObject = {
          property1 : "Hello",
          property2 : "MmmMMm",
          property3 : ["mmm", 2, 3, 6, "kkk"],
          method1 : function(){
             alert("Method had been called" + this.property1)
           }
    };
    timObject.method1();
    alert(timObject.property3[2]) // 結(jié)果為3

    var circle = { x : 0, y : 0, radius: 2 } // another example
    // 嵌套也是允許的哦.
    var rectangle = {
              upperLeft : { x : 2, y : 2 },
             lowerRight : { x : 4, y : 4}
    }
    alert(rectangle.upperLeft.x) // 結(jié)果為2
    </script>
    文字記號(hào)可是是數(shù)組,也可以是任意的javascript表達(dá)式或值.
    用 new 操作符或文字記號(hào)創(chuàng)建一個(gè)自定義對(duì)象都是簡(jiǎn)單的,也是符合邏輯的.但它最大的缺點(diǎn)就是結(jié)果不可復(fù)用.也不能很容易的用不同的版本初始化創(chuàng)建對(duì)象.例如上面的第一個(gè)例子,如果 person 的 name 不是 "Tim Scarfe",那樣我們不得不重新定義整個(gè)對(duì)象,僅僅為了適應(yīng)它的一點(diǎn)點(diǎn)改變.

    1.3.對(duì)象的構(gòu)造和原型
       在OOP的世界里,用先前的方法定義對(duì)象在許多場(chǎng)合都有限制.我們需要一種創(chuàng)建對(duì)象的方法,類型可以被多次使用而不用重新定義.對(duì)象在實(shí)例化時(shí)每次都可以按需分配不同的值.實(shí)現(xiàn)這個(gè)目標(biāo)的標(biāo)準(zhǔn)方法是用對(duì)象構(gòu)造器函數(shù).

       一個(gè)對(duì)象構(gòu)造器只不過(guò)是個(gè)有規(guī)則的javascript函數(shù),它就象一個(gè)容器(定義參數(shù),調(diào)用其他函數(shù)等等).它們兩者所不同的是構(gòu)造器函數(shù)是由 new 操作符調(diào)用的.(你將在下面的例子中看到).基于函數(shù)語(yǔ)法形式的對(duì)象定義,我們可以使它工作得最好.

    讓我們用現(xiàn)實(shí)世界中的貓來(lái)舉個(gè)例子.貓的 name 和 color 是貓的屬性.meeyow(貓叫)是它的一個(gè)方法.重要的是任何不同的貓都可能有不同的 name 和 meeyow 的叫聲.為了建立適應(yīng)這些特征的對(duì)象類,我們將使用對(duì)象構(gòu)造器.
    <script language="javascript" type="text/javascript">
    function cat(name) {
           this.name = name; 
           this.talk = function() {
                  alert( this.name + " say meeow!" )
           }
    }
    cat1 = new cat("felix")
    cat1.talk() //alerts "felix says meeow!"
    cat2 = new cat("ginger")
    cat2.talk() //alerts "ginger says meeow!"
    </script>
    在這里,函數(shù) cat() 是一個(gè)對(duì)象構(gòu)造器,它的屬性和方法在函數(shù)體里用this來(lái)定義,用對(duì)象構(gòu)造器定義的對(duì)象用 new 來(lái)實(shí)例化.主意我們?nèi)绾畏浅H菀椎亩x多個(gè)cat 的實(shí)例.每一個(gè)都有自己的名字,這就是對(duì)象構(gòu)造器帶給我們的靈活性.
    構(gòu)造器建立了對(duì)象的藍(lán)圖.并不是對(duì)象本身.

    在原型里增加方法.
    在上面我們看到的例子里,對(duì)象的方法是在構(gòu)造器里定義好的了.另外一種實(shí)現(xiàn)的途徑是通過(guò)原型(prototype).xxx
    原型是javascript繼承的一種形式.我們可以為對(duì)象定義好后,再創(chuàng)造一個(gè)方法.原來(lái)所有對(duì)象的實(shí)例都將共享.
    讓我們來(lái)擴(kuò)展最初的 cat 對(duì)象.增加一個(gè)改名的方法.用 prototype 的方式.
    <script language="javascript" type="text/javascript">

    cat.prototype.changeName = function(name) {
              this.name = name;
    }
    firstCat = new cat("pursur")
    firstCat.changeName("Bill")
    firstCat.talk() //alerts "Bill says meeow!"
    </script>
    就象你所看到的.我們僅只用了 關(guān)鍵字 prototype 實(shí)現(xiàn)了在對(duì)象定義后馬上增加了changeName方法.這個(gè)方法被所有的實(shí)例共享.

    用原型(prototype) 重載 javascript 對(duì)象
    原型 在自定義對(duì)象和有選擇性的重載對(duì)象上都可以工作.比如 Date() 或 String .這可能是無(wú)止境的.

    1.4.子類和超類
    下面一個(gè)例子演示了如何繼承
    <script language="javascript" type="text/javascript">
    function superClass() {
             this.supertest = superTestMethod; //attach method superTest
    }

    function superTestMethod() {
             return "superTest";
    }

    function subClass() {
             this.inheritFrom = superClass;
             this.inheritFrom();
             this.subtest = subTestMethod; //attach method subTest
    }

    function subTestMethod() {
            return "subTest";
    }

    var newClass = new subClass();
    alert(newClass.subtest()); // 彈出"subTest"
    alert(newClass.supertest()); // 彈出 "superTest"
    </script>
    1.5.訪問(wèn)對(duì)象屬性
    正如你所知, (.)操作符能夠用來(lái)操作對(duì)象屬性和方法,而([]) 操作符用來(lái)操作數(shù)組.
    <script language="javascript" type="text/javascript">
    // 這兩種用法是相同的
    object.property
    object["property"]
    </script>
    <script language="javascript">
    function Circle (xPoint, yPoint, radius) {
           this.x = xPoint;
           this.y = yPoint;
           this.r = radius;
    }
    var aCircle = new Circle(5, 11, 99);
    alert(aCircle.x);
    alert(aCircle["x"]);
    </script>
    我們可以通過(guò)for in循環(huán)來(lái)遍歷對(duì)象的屬性。
    <script language="javascript" type="text/javascript">
    var testObj = {
          prop1 : "hello",
          prop2 : "hello2",
          prop3 : new Array("hello",1,2)
    }
    for(x in testObj) {
         alert( x + "-" + testObj[ x ] )
    }
    </script>
    <script language="javascript">
    var Circle = { // another example
           x : 0,
           y : 1,
          radius: 2
    }

    for(p in Circle) {
           alert( p + "-" + Circle[ p ] )
    }
    </script>

    posted @ 2007-09-18 11:02 小木 閱讀(1691) | 評(píng)論 (1)編輯 收藏

    在使用displaytag出現(xiàn)的錯(cuò)誤! 忘大家?guī)兔鉀Q!

    在使用displaytag出現(xiàn)這個(gè)異常  很久都沒(méi)有解決!

    Failed to load or instantiate TagExtraInfo class: org.displaytag.tags.TableTagExtraInfo 

    posted @ 2007-08-29 22:12 小木 閱讀(912) | 評(píng)論 (0)編輯 收藏

    求助高手

     請(qǐng)問(wèn)哪位大俠做過(guò)一個(gè)Web IM,如果有例子務(wù)必給小弟借鑒一下,謝謝!

    posted @ 2007-06-05 11:13 小木 閱讀(770) | 評(píng)論 (1)編輯 收藏

    請(qǐng)教高手

    為什么我在使用SSH(struts+spring+hibernate)構(gòu)建一個(gè)J2EE時(shí)為什么會(huì)時(shí)常出現(xiàn)這種錯(cuò)誤:


    請(qǐng)哪位知道的高手務(wù)必指導(dǎo)一下小弟,謝謝!

    posted @ 2007-05-21 16:04 小木 閱讀(981) | 評(píng)論 (12)編輯 收藏

    Hibernate中實(shí)體對(duì)象的生命周期

    實(shí)體對(duì)象的生命周期在Hibernate應(yīng)用中是一個(gè)很關(guān)鍵的概念,正確的理解實(shí)體對(duì)象的生命周期將對(duì)我們應(yīng)用Hibernate做持久層設(shè)計(jì)起到很大的作用.而所謂的實(shí)體對(duì)象的生命周期就是指實(shí)體對(duì)象由產(chǎn)生到被GC回收的一段過(guò)程.在這過(guò)程中我們需要理解的就是實(shí)體對(duì)象生命周期中的三種狀態(tài).

    1.自由狀態(tài)(Transient)
    所謂的Transient狀態(tài),即實(shí)體對(duì)象在內(nèi)存中自由存在,與數(shù)據(jù)庫(kù)中的記錄無(wú)關(guān),通常是我們的J2EE中VO,并沒(méi)有被納入Hibernate的實(shí)體管理容器.

    1    Test test = new Test();
    2        test.setName("energykk");
    3        //此時(shí)的test對(duì)象處于Transient(自由狀態(tài))并沒(méi)有被Hibernate框架所管理
    4        

    2.持久狀態(tài)(Persistent)
    何謂 Persistent? 即實(shí)體對(duì)象已經(jīng)處于被Hibernate實(shí)體管理容器容器所管理的狀態(tài).這種狀態(tài)下這個(gè)實(shí)體對(duì)象的引用將被納入Hibernate實(shí)體管理容器容器所管理.
    處于Persistent狀態(tài)的實(shí)體對(duì)象,對(duì)它的變更也將被固化到數(shù)據(jù)庫(kù)中.
    在J2EE中通常指的是一個(gè)PO.
    Transaction tr = session.beginTransaction();
            session.save(test);
            
    //此時(shí)的test對(duì)象已經(jīng)處于Persistent(持久狀態(tài))它被Hibernate納入實(shí)體管理容器
            tr.commit();
            Transaction tr2 
    = session.beginTransaction();
            test.setName(
    "xukai");
            
    //在這個(gè)事務(wù)中我們并沒(méi)有顯示的調(diào)用save()方法但是由于Persistent狀態(tài)的對(duì)象將會(huì)自動(dòng)的固化到
            
    //數(shù)據(jù)庫(kù)中,因此此時(shí)正處在Persistent狀態(tài)的test對(duì)象的變化也將自動(dòng)被同步到數(shù)據(jù)庫(kù)中
            tr2.commit();

    處于Persistent狀態(tài)的實(shí)體可以簡(jiǎn)單的理解為:如果一個(gè)實(shí)體對(duì)象與session發(fā)生了關(guān)聯(lián),并且處于session的有效期內(nèi),那么這個(gè)實(shí)體對(duì)象就處于Persistent狀態(tài).

    3.游離狀態(tài)(Detached)
    處于Persistent狀態(tài)的實(shí)體對(duì)象,其對(duì)應(yīng)的session關(guān)閉以后,那么這個(gè)實(shí)體就處于Detached狀態(tài).
    我們可以認(rèn)為session對(duì)象就是一個(gè)Persistent的宿主,一旦這個(gè)宿主失效,那么這個(gè)實(shí)體就處于Detached狀態(tài).

    session.close();
            
    //與test對(duì)象關(guān)聯(lián)的session被關(guān)閉,因此此時(shí)的test對(duì)象進(jìn)入Detached(游離狀態(tài))
            
            session2 
    = HibernateSessionFactory.getSession();
            Transaction tr3 
    = session2.beginTransaction();
            session2.update(test);
            
    //此時(shí)正處于Detached狀態(tài)的test對(duì)象由于再次借助與session2被納入到Hibernate的實(shí)體管理容器所以此時(shí)的
            
    //test對(duì)象恢復(fù)到Persistent狀態(tài)
            test.setName("jjjj");
            tr3.commit();
            
            session2.close();

    既然Transient狀態(tài)的實(shí)體與Detached狀態(tài)的實(shí)體都與Hibernate的實(shí)體管理容器沒(méi)有關(guān)系,那他們到底存在哪些差異?
    差異就在于處于Transient狀態(tài)的只有一個(gè)Name的屬性.此時(shí)的test對(duì)象所包含的數(shù)據(jù)信息僅限于此,他與數(shù)據(jù)庫(kù)中的記錄沒(méi)有任何瓜葛.
    但是處于Detached狀態(tài)的實(shí)體已經(jīng)不止包含Name這個(gè)屬性,還被賦予了主鍵也就是通常POJO里的id屬性,由于id是主鍵,他可以確定數(shù)據(jù)庫(kù)表中的一條
    唯一的記錄,那么自然的處于Detached狀態(tài)的實(shí)體就能與數(shù)據(jù)庫(kù)表中擁有相同id的記錄相關(guān)聯(lián).
    這就是他們之間所存在的差異,簡(jiǎn)而言之,Transient狀態(tài)的實(shí)體缺乏與數(shù)據(jù)庫(kù)表記錄之間的聯(lián)系,而Detached狀態(tài)的試題恰恰相反.只不過(guò)是脫離了session這個(gè)數(shù)據(jù)庫(kù)操作平臺(tái)而已.

    posted @ 2007-05-08 14:02 小木 閱讀(3201) | 評(píng)論 (0)編輯 收藏

    作業(yè)

    1.?JavaMail實(shí)現(xiàn)郵件收發(fā)
    2.?Filter過(guò)濾器、Listener監(jiān)聽(tīng)器原理和代碼實(shí)現(xiàn)
    3.?SCJP考題訓(xùn)練(兩套)
    4.?Tomcat配置包括Tomcat電腦開機(jī)自動(dòng)啟動(dòng)、連接池各項(xiàng)參數(shù)含義
    5.?JDBC實(shí)現(xiàn)10萬(wàn),50萬(wàn),100萬(wàn)數(shù)據(jù)查詢性能對(duì)比和調(diào)優(yōu)方案
    6.?編寫java程序調(diào)用mysql存儲(chǔ)過(guò)程
    7.?用jsp+struts+dao實(shí)現(xiàn)用戶登陸
    8.?用jsp+struts+dao實(shí)現(xiàn)數(shù)據(jù)庫(kù)crud操作,并在頁(yè)面展示效果
    9.?Jdbc批量數(shù)據(jù)插入代碼實(shí)現(xiàn)(至少插入10萬(wàn)條記錄)
    10.?多線程實(shí)現(xiàn)生產(chǎn)者/消費(fèi)者工作過(guò)程
    11.?Socket實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)聊天對(duì)話
    12.?Hibernate上c3p0,proxool,及服務(wù)器上連接池配置(可選)
    13.?Hibernate實(shí)現(xiàn)數(shù)據(jù)的crud操作(可選)
    14.?Struts+Hibernate+Sping實(shí)現(xiàn)crud操作并在頁(yè)面顯示效果(可選)

    posted @ 2007-02-08 19:53 小木 閱讀(363) | 評(píng)論 (1)編輯 收藏

    在Orcale中使用視圖和存儲(chǔ)過(guò)程

    ?在Orcale中使用視圖和存儲(chǔ)過(guò)程
    一.視圖
    1.為什么要引入視圖這個(gè)概念?
    試想如果我們要使用計(jì)算列調(diào)整數(shù)據(jù)的結(jié)構(gòu),或者基于列值比較從多個(gè)表中抽取數(shù)據(jù),我們就不得不采取相對(duì)很復(fù)雜的SQL語(yǔ)句.但是,如果我們要多次按照
    這種方式獲取數(shù)據(jù),那豈不是要一遍又一遍的重復(fù)寫這些復(fù)雜的SQL語(yǔ)句,那是一件多么令人頭痛的事啊,但是,有了視圖,我們就可以完全避免這些不必要
    多做這些無(wú)用功了,SQL允許我們?cè)跀?shù)據(jù)庫(kù)中創(chuàng)建視圖.視圖提供了一種半持久性的改造方式,這樣我們就可以通過(guò)訪問(wèn)視圖來(lái)代替直接訪問(wèn)表,換句話說(shuō)就是
    視圖就相當(dāng)于一個(gè)抽象層,這樣就能是我們以一種更一致的方式格式數(shù)據(jù).同時(shí)這樣也大大提高了數(shù)據(jù)的安全性,用戶僅可以訪問(wèn)到視圖,而不能訪問(wèn)到下層的
    數(shù)據(jù).
    2.視圖有那些優(yōu)點(diǎn)?
    ?1.將用戶的注意力集中在特定的數(shù)據(jù)上,從而提高數(shù)據(jù)的安全性
    ?2.簡(jiǎn)化了數(shù)據(jù)的查詢和處理操作,DBA可以把大量的相關(guān)的內(nèi)容設(shè)計(jì)到一個(gè)視圖中,使用戶在查詢和處理數(shù)據(jù)時(shí)就像處理表那么簡(jiǎn)單,而不用編寫復(fù)雜的
    ?select語(yǔ)句
    ?3.有利于數(shù)據(jù)的交換
    ?4.有利于簡(jiǎn)化對(duì)用戶權(quán)限的管理
    3.在SQL如何創(chuàng)建和使用視圖?
    ?創(chuàng)建視圖:
    ?->create view 視圖名稱 as Query(任意的select語(yǔ)句)
    ??Example:CREATE VIEW selectstudent
    ????AS select name from student;(該例子就提高了數(shù)據(jù)的按全性,在用戶調(diào)用這個(gè)視圖時(shí),就只能看到學(xué)生名字)
    ?使用視圖:
    ?->select 字段名 from 視圖名 where 過(guò)濾條件
    ??Example(接上):select name from selectstudent where name = '張三';
    4.怎樣更改視圖?
    ?->CREATE OR REPLACE VIEW 視圖名 AS Query
    5.怎樣刪除視圖?
    ?->DROP VIEW 視圖名
    二.存儲(chǔ)過(guò)程
    1.什么是儲(chǔ)存過(guò)程?
    我們?cè)谑褂肧QL進(jìn)行編程時(shí),可以使用兩種方法儲(chǔ)存和執(zhí)行程序.可以在本地儲(chǔ)存程序,創(chuàng)建并向數(shù)據(jù)庫(kù)發(fā)送命令并處理結(jié)果的應(yīng)用程序,最好的方法當(dāng)然是將程序在數(shù)據(jù)庫(kù)儲(chǔ)存為
    儲(chǔ)存過(guò)程,創(chuàng)建執(zhí)行儲(chǔ)存過(guò)程并處理結(jié)果的應(yīng)用程序.
    2.存儲(chǔ)過(guò)程有什么作用?
    ?->接受輸入?yún)?shù)并以輸出參數(shù)的形式將多個(gè)值返回至調(diào)用過(guò)程或進(jìn)行批處理
    ?->執(zhí)行數(shù)據(jù)庫(kù)操作的編程語(yǔ)句
    ?->向調(diào)用過(guò)程或批處理返回狀態(tài)值表明成功或失敗以及失敗的原因
    3.使用存儲(chǔ)過(guò)程有那些優(yōu)勢(shì)?
    ?->允許模塊化程序設(shè)計(jì).只需創(chuàng)建過(guò)程一次并將其保存在數(shù)據(jù)庫(kù)中,以后就能在程序中調(diào)用該過(guò)程任意次
    ?->允許更快的執(zhí)行.如果某項(xiàng)操作需要大量的SQL代碼或需要重復(fù)執(zhí)行,存儲(chǔ)過(guò)程將比SQL代碼執(zhí)行的要快
    ?->減少網(wǎng)絡(luò)流量.一個(gè)需要數(shù)百行的SQL代碼操作由一條執(zhí)行過(guò)程代碼的單獨(dú)語(yǔ)句就可以實(shí)現(xiàn),而不需要在網(wǎng)絡(luò)中發(fā)送數(shù)百行代碼.
    ?->可作為安全機(jī)制使用
    4.如何創(chuàng)建存儲(chǔ)過(guò)程?
    ?->CREATE [OR REPLACE] 存儲(chǔ)過(guò)程名 (參數(shù)列表)
    ??AS
    ??BEGIN
    ???存儲(chǔ)過(guò)程主體
    ??END;
    ?->Orcale中參數(shù)的模式:參數(shù)名 IN 或 OUT 數(shù)據(jù)類型
    ??Example:
    ???create or replace insertstudent(i_studentid in int,i_studentname in vachar);
    ???as
    ???begin
    ????insert student(studentid,name)values(i_studentid,i_studentname);

    ???end;
    ???使用該存儲(chǔ)過(guò)程
    ???call insertstudent(1,'張三');
    ?->使用輸出參數(shù):
    ??Example:
    ???create or replace getstudentname(i_studentid in int,o_studentname out vachar);
    ???as
    ???begin
    ????select name into o_studentname from student where studentid = i_studentid;
    ???end;
    ??
    ???使用該存儲(chǔ)過(guò)程
    ???set severout on --單獨(dú)執(zhí)行
    ???declare
    ????studentname vachar(50);--變量聲明
    ???begin
    ????getstudentname(1,studentname);
    ????dbms_output.put_line(studentname);
    ???end;

    ???著輸出結(jié)果為:張三

    ???
    ???
    ?????

    ?

    posted @ 2006-11-09 18:29 小木 閱讀(1345) | 評(píng)論 (0)編輯 收藏

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆檔案

    相冊(cè)

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲JIZZJIZZ妇女| 免费精品国产自产拍观看| 一级做a爰片久久免费| 亚洲国产综合自在线另类| 国产AV无码专区亚洲AV手机麻豆| 久久久久国色AV免费看图片| 全免费a级毛片免费看| 乱淫片免费影院观看| 亚洲精品自偷自拍无码| 亚洲国产精品日韩在线观看| 久久综合九九亚洲一区| 国产亚洲综合久久系列| 国产精品亚洲精品日韩已方| 男人的天堂亚洲一区二区三区| 8x8x华人永久免费视频| 男人都懂www深夜免费网站| 精选影视免费在线 | 成人免费观看男女羞羞视频| 美女18毛片免费视频| 国产成人久久精品亚洲小说| 亚洲熟妇成人精品一区| 在线观看日本亚洲一区| 激情亚洲一区国产精品| 亚洲依依成人精品| 亚洲午夜成激人情在线影院 | 特黄特色大片免费| 色噜噜噜噜亚洲第一| 亚洲风情亚Aⅴ在线发布| 亚洲国产精品成人AV在线| 亚洲午夜无码久久久久小说| 亚洲卡一卡二卡乱码新区| 亚洲AV男人的天堂在线观看| 亚洲中文字幕乱码AV波多JI| 亚洲狠狠婷婷综合久久| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 亚洲免费日韩无码系列| 亚洲综合色在线观看亚洲| 国产亚洲自拍一区| 亚洲精品自产拍在线观看| 亚洲AV无码国产精品色午友在线| 亚洲av伊人久久综合密臀性色|