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

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

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

    Enterprise Application and MyEclipse Project Overview

        只有注冊用戶登錄后才能閱讀該文。閱讀全文

    posted @ 2007-08-23 13:24 youngturk 閱讀(101) | 評論 (0)編輯 收藏

    在 Web 應用程序中配置資源

         摘要: 在 Web 應用程序中配置資源Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1在 Web 應用程序中配置資源   2以下部分描述如何配置 Web 應用程序資...  閱讀全文

    posted @ 2007-08-10 11:23 youngturk 閱讀(106) | 評論 (0)編輯 收藏

    把WebLogic EJB程序遷移到JBoss上

    WebLogic服務器是一款頂級的商業應用程序服務器。但是對于小規模的開發者來說,開發源代碼的、基于標準的應用程序服務器JBoss是可以用來替換類似WebLogic或WebSphere等商業應用程序服務器的。不幸的是,在WebLogic中開發的應用程序不能在JBoss中部署。JBoss遷移服務為我們提供了把應用程序遷移到JBoss上的支持。作為代替,通過把廠商特定的部署文件信息遷移到JBoss上,是可能把應用程序遷移到JBoss上的。為了演示如何把應用程序遷移到JBoss的過程,我們將把一個在WebLogic中開發的帶有Oracle數據庫的EJB應用程序遷移到帶有MySQL數據庫的JBoss應用程序服務器上。

      預安裝軟件

      為了配置MySQL數據庫的JDBC連接,需要下載MySQL數據庫驅動程序類。

      1.下載MySQL JDBC驅動程序.jar文件

      2.下載和安裝MySQL數據庫服務器

      3.下載和安裝JBoss 4.0應用程序服務器

      開發一個Java應用程序,我們將使用它和XSLT把WebLogic部署文件轉換為JBoss部署文件。該部署文件也可以使用XSLT工具進行轉換。

      概述

      在不進行修改的時候,WebLogic中開發的應用程序是不能部署在JBoss中的。JBoss應用程序的部署文件與WebLogic的部署文件不同。在本文中,我們將把一個在WebLogic中開發的實體(entity)EJB應用程序示例遷移到JBoss中,遷移的方法是把WebLogic部署文件轉換為JBoss部署文件。

      示例應用程序包含一個Catalog實體EJB。該EJB的bean類(CatalogBean.java)、遠程接口(Catalog.java)、和home接口(CatalogHome.java)都在本文下載鏈接的weblogic-jboss-resources.zip示例文件中。我們將使用MySQL開放源代碼數據庫來配置JBoss應用程序。把WebLogic EJB應用程序部署到JBoss中并不需要修改實體EJB類,只需要修改該EJB的部署文件。

      配置JBoss和MySQL

      MySQL是一個開放源代碼的數據庫,它適合于開放源代碼的項目和小型組織。為了配置JBoss和MySQL數據庫需要進行下面一些修改。

      配置JBoss類路徑

      為了使用JBoss 4.0和MySQL,我們首先要把驅動程序類.jar文件(mysql-connector-java-3.0.9-stable-bin.jar)復制到<JBoss>/server/default/lib目錄中。其中的<JBoss>是JBoss應用程序服務器安裝的目錄。lib目錄的.jar和.zip文件都包含在JBoss服務器的Classpath(類路徑)中。

      配置MySQL數據源

      為了使用MySQL數據源,需要把<JBoss>/docs/examples/jca/mysql-ds.xml復制到<JBoss>/server/default/deploy目錄中。當JBoss服務器啟動的時候,deploy目錄中的數據源配置文件就被部署好了。依照下面的步驟修改mysql-ds.xml配置文件:

      · 把<driver-class/>設置為com.mysql.jdbc.Driver,<connection-url/>設置為jdbc:mysql://localhost/<database>,其中<database>是MySQL數據庫。<database>的值可以設置為test,它是MySQL中的示例數據庫。

      · 在jndi-name元素中指定數據源的JNDI名稱。

      · 指定連接MySQL數據庫的用戶名和密碼。在默認情況下,root用戶名不需要密碼。

      · 把type-mapping元素指定為mySQL。type-mapping元素指定了standardjbosscmp-jdbc.xml部署文件中預定義的數據庫類型映射關系。對于MySQL數據庫來說,類型映射是mySQL。

      修改過的mysql-ds.xml如下所示:

      <?xml version="1.0" encoding="UTF-8"?>
      <datasources>
      <local-tx-datasource>
      <jndi-name>MySqlDS</jndi-name>
      <connection-url>jdbc:mysql://localhost/test</connection-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <user-name>root</user-name>
      <password></password>
      <metadata>
      <type-mapping>mySQL</type-mapping>
      </metadata>
      </local-tx-datasource>
      </datasources>

      我們可以通過提供數據源JNDI名稱從數據源獲取一個JDBC連接:

      InitialContext initialContext = new InitialContext();
      javax.sql.DataSource ds = (javax.sql.DataSource)
      initialContext.lookup("java:/MySqlDS");
      java.sql.Connection conn = ds.getConnection();

      配置登錄信息

      現在我們根據MySQL數據庫設置來修改login-config.xml配置文件。為了登錄到MySQL數據庫,應用程序策略MySqlDbRealm是必要的。給login-config.xml添加下面的<application-policy/>元素:

      <application-policy name = "MySqlDbRealm">
      <authentication>
      <login-module code =
      "org.jboss.resource.security.ConfiguredIdentityLoginModule"
      flag = "required">
      <module-option name ="principal"></module-option>
      <module-option name ="userName">root</module-option>
      <module-option name ="password"></module-option>
      <module-option name ="managedConnectionFactoryName">
      jboss.jca:service=LocalTxCM,name=MySqlDS
      </module-option>
      </login-module>
      </authentication>
      </application-policy>


      通過修改mysql-ds.xml和login-config.xml文件,JBoss 4.0服務器已經被配置好了,可以使用MySQL數據庫了。除了前面的一些特定的設置之外,可能還需要對JBoss部署文件和JBoss JDBC配置文件作一些修改。

      如果"建立表"選項被選中(通過把jbosscmp-jdbc.xml中的create-table元素設置為true)用于部署CMP實體EJB,并且MySQL表的主鍵(或唯一鍵)的長度超過了500字節,應用程序的部署過程會在MySQL數據庫中生成一個SQL語法錯誤。對于java.lang.String類型的CMP字段,我們可以通過在standardjbosscmp-jdbc.xml部署文件的mySQL類型映射中把用于Java類型java.lang.String的SQL類型設置為較低的VARCHAR值來減小主鍵(或唯一鍵)的長度。另一個可能出現的問題是jbosscmp-jdbc.xml部署文件中的column-name元素。如果某個MySQL表的列名與MySQL保留字相同,在JBoss中部署J2EE應用程序的時候會產生一個錯誤。解決這個問題的方法是使列名與MySQL保留字不同。

       轉換WebLogic EJB應用程序

      在建立起使用MySQL的JBoss服務器之后,你現在必須把該WebLogic EJB應用程序轉換為JBoss EJB應用程序,這就涉及到部署文件的修改。WebLogic實體EJB應用程序由EJB部署文件(ejb-jar.xml、weblogic-ejb-jar.xml和weblogic-cmp-rdbms-jar.xml),bean類(CatalogBean.java)、遠程接口(Catalog.java)和home接口(CatalogHome.java)組成。為了在WebLogic服務器上部署實體EJB,需要建立一個EJB .jar文件,這個EJB .jar文件的結構如下:

      META-INF/
      ejb-jar.xml
      weblogic-ejb-jar.xml
      weblogic-cmp-rdbms-jar.xml
      CatalogBean.class
      Catalog.class
      CatalogHome.class

      EJB的結構信息和應用程序匯編信息都在部署文件中指定。結構信息包括說明EJB是對話EJB還是實體EJB。ejb-jar.xml部署文件中的應用程序匯編信息在assembly-descriptor元素中指定。WebLogic中該實體EJB部署文件包括ejb-jar.xml、weblogic-ejb-jar.xml和weblogic-cmp-rdbms-jar.xml。相應的JBoss部署文件是ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml。這些文件之間的轉換如下所示。

      ejb-jar.xml部署文件對于WebLogic和JBoss來說都是一樣的,除了multiplicity元素之外。JBoss服務器的ejb-jar.xml中的multiplicity元素需要大寫,例如One或Many,而不是one或many。

      示例實體EJB的ejb-jar.xml部署文件包含在示例代碼中。示例ejb-jar.xml定義了一個叫做"Catalog"的實體EJB。這個示例EJB擁有CMP字段catalogId、journal和publisher。其主鍵字段是catalogId。

      把weblogic-ejb-jar.xml轉換為jboss.xml

      weblogic-ejb-jar.xml和jboss.xml部署文件都是EJB廠商的特定部署文件。為了把WebLogic EJB應用程序部署到JBoss應用程序服務器上,必須把weblogic-ejb-jar.xml部署文件轉換為jboss.xml。

      weblogic-ejb-jar.xml中的根元素是weblogic-ejb-jar。jboss.xml中的根元素是jboss。在jboss.xml和weblogic-ejb-jar.xml部署文件中指定某個EJB的JNDI名稱的元素是jndi-name或local-jndi-name。本文中的示例實體EJB的weblogic-ejb-jar.xml部署文件也包含在示例代碼中。weblogic-ejb-jar.xml部署文件的DOCTYPE元素是:

      <!DOCTYPE weblogic-ejb-jar PUBLIC
      "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN"
      "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd" >
      jboss.xml部署文件的DOCTYPE是:
      <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN"
      "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

      我們通過一個自定義的XSLT樣式表jboss.xslt(包含在示例代碼中)把部署文件weblogic-ejb-jar.xml轉換為jboss.xml。該樣式表建立jboss.xml,它是與WebLogic的weblogic-ejb-jar.xml部署文件相當的JBoss文件。使用jboss.xslt樣式表所生成的jboss.xml文件也包含在示例代碼中。

      把weblogic-cmp-rdbms-jar.xml轉換為jbosscmp-jdbc.xml

      weblogic-cmp-rdbms-jar.xml部署文件指定了CMP實體EJB的數據庫持續信息。weblogic-cmp-rdbms-jar.xml文件包含實體EJB的表名稱、連接到數據庫的數據源和與該實體EJB CMP字段對應的列。示例實體EJB的weblogic-cmp-rdbms-jar.xml部署文件包含在可以下載的.zip文件中。指定CMP視圖EJB持續信息的JBoss部署文件是jbosscmp-jdbc.xml。

      weblogic-cmp-rdbms-jar.xml的根元素是weblogic-rdbms-jar;jbosscmp-jdbc.xml的根元素是jbosscmp-jdbc。weblogic-cmp-rdbms-jar.xml文件中指定連接到數據庫的數據源的data-source-name元素與jbosscmp-jdbc.xml部署文件中的datasource元素功能相當。weblogic-cmp-rdbms-jar.xml指定實體EJB CMP字段與數據庫表的列之間映射關系的field-map元素與jbosscmp-jdbc.xml中的cmp-field元素功能相當。weblogic-cmp-rdbms-jar.xml中指定列名的dbms-column元素與jbosscmp-jdbc.xml中的column-name元素功能相當。weblogic-cmp-rdbms-jar.xml部署文件的DOCTYPE是:

      <!DOCTYPE weblogic-rdbms-jar PUBLIC
      '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN'
      'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd'>
      jbosscmp-jdbc.xml的DOCTYPE是:
      <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN"
      "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">


      我們使用自定義的XSLT樣式表jbosscmp-jdbc.xslt(包含在示例代碼中)把部署文件weblogic-cmp-rdbms-jar.xml轉換為jbosscmp-jdbc.xml。該樣式表建立jbosscmp-jdbc.xml,它是與WebLogic的weblogic-cmp-rdbms-jar.xml部署文件功能相當的JBoss文件。jbosscmp-jdbc.xml也包含下載在.zip文件中。

      WebLogic部署文件的DTD與JBoss部署文件的不同。使用自定義的XSLT的時候,如果部署文件中還出現了一些額外的元素,可能還需要做進一步的修改,可以把WebLogic部署文件轉換為JBoss部署文件。在下面的部分中,我們將在JBoss服務器上部署這個EJB應用程序。

      在JBoss中部署該EJB應用程序

      把WebLogic EJB部署文件轉換為JBoss部署文件之后,你必須建立一個心的EJB .jar文件以部署到JBoss服務器上。該JBoss .jar文件的結構如下:

      META-INF/
      ejb-jar.xml
      jboss.xml
      jbosscmp-jdbc.xml
      CatalogBean.class
      Catalog.class
      CatalogHome.class

      編譯示例EJB類和接口:

      java Catalog.java CatalogBean.java CatalogHome.java

      把JBoss部署文件ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml復制到META-INF目錄中。使用jar工具從JBoss部署文件、類和接口中建立一個.jar文件。

      jar cf CatalogEJB.jar CatalogBean.class
      Catalog.class CatalogHome.class META-INF/*.xml

      部署該JBoss實體EJB應用程序的過程是,把該.jar文件(EntityEJB.jar)復制到<JBoss>\server\default\deploy目錄(其中<JBoss>是JBoss安裝的目錄)中。當服務器啟動的時候,該EJB應用程序就在JBoss服務器上面部署好了。JBoss應用程序服務器中的部署(deploy)目錄與WebLogic應用程序服務器中的應用程序(applications)目錄對應。

      結論

      通過轉換部署文件可以把WebLogic中部署的實體EJB應用程序遷移到JBoss應用程序服務器上。使用相似的步驟,通過把weblogic.xml 部署文件轉換為jboss-web.xml ,也可以把WebLogic J2EE Web應用程序遷移到JBoss上。

    posted @ 2007-08-08 17:05 youngturk 閱讀(250) | 評論 (0)編輯 收藏

    簡單的EJB開發實例,JBOSS4.0+ECLIPSE3.1

    相信很多剛學做J2EE開發的人都會覺得入手很麻煩,特獻上前不久整理給一學弟看的一個EJB應用示例,開發環境是JBOSS4.0.2+ECLIPSE3.1。
    軟件下載配置安裝我就不多說了,相信大家都會很輕易搞定。

    開發流程,寫一個簡單的stateful session bean,進行遠程調用,計算出某一特定正整數的Fibonacci值。

    所創建的project下引入jbossall-client.jar,在JBOSS_HOME/client目錄下
    分別用eclipse寫出EJB遠程調用的home接口,remote接口和相對應的Bean
    ———1. home接口———
    package com.terry.ejbsample;

    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;

    /**
    * @author terry
    *
    */
    public interface FibonacciHome extends EJBHome
    {
      Fibonacci create() throws RemoteException, CreateException;

    }
    ———2. remote 接口———
    package com.terry.ejbsample;

    import java.rmi.RemoteException;
    import javax.ejb.EJBObject;
    /**
    * @author terry
    *
    */
    public interface Fibonacci extends EJBObject
    {
      public long getFibonacci(int n) throws RemoteException;
    }
    ———3. FibonacciBean———
    package com.terry.ejbsample;

    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    /**
    * @author terry
    *
    */
    public class FibonacciBean implements SessionBean
    {
      public long getFibonacci(int n)
      {
        if (n==0) return 1;
        else if (n==1) return 1;
        else
            return getFibonacci(n - 1) + getFibonacci(n - 2);
      }
      public void ejbCreate() throws CreateException
    {
    System.out.println(“Bean created”);
    }
      public void ejbRemove(){}  
      public void ejbActivate(){}  
      public void ejbPassivate(){}
      public void setSessionContext(SessionContext ctx){}
    }

    配置相對應的ejb-jar.xml和jboss.xml文件
    ———1. ejb-jar.xml———
    <?xml version="1.0"?>

    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                    http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
      version="2.1">
      <enterprise-beans>
        <session>
            <ejb-name>Fibonacci</ejb-name>
            <home>com.terry.ejbsample.FibonacciHome</home>
            <remote>com.terry.ejbsample.Fibonacci</remote>
            <ejb-class>com.terry.ejbsample.FibonacciBean</ejb-class>
            <session-type>Stateful</session-type>
            <transaction-type>Container</transaction-type>
        </session>
      </enterprise-beans>
    </ejb-jar>
    ———2. jboss.xml———
    <?xml version="1.0"?>

    <jboss>
      <enterprise-beans>
        <session>
            <ejb-name>Fibonacci</ejb-name>
            <jndi-name>FibonacciHome</jndi-name>
        </session>
      </enterprise-beans>
    </jboss>
    在Eclipse中配置所需package的jar包,將class文件以及xml描述文件分別添加進去,注意正確的前綴,xml文件必須在根目錄下的META-INF文件夾中。或者你可以在console窗口使用jar命令進行打包(如 jar cf ff.jar *)

    將剛剛打包的ff.jar放入JBOSS_HOME/server/default/deploy,啟動jboss的默認服務器,如果一切順利的話,你會在console窗口中看到你剛剛所寫的FibonacciBean已經被成功部署到jboss中了。

    寫一個簡單的測試程序
    ———FibonacciClient.java———
    package com.terry.ejbsample;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    /**
    * @author terry
    *
    */
    public class FibonacciClient
    {
      public static void main(String[] args)
      {
        try
        {
            java.util.Properties p = new java.util.Properties();
            p.put(Context.INITIAL_CONTEXT_FACTORY,
                "org.jnp.interfaces.NamingContextFactory");
            p.put(Context.URL_PKG_PREFIXES, "jboss.naming:org.jnp.interfaces");
            p.put(Context.PROVIDER_URL, "localhost:1099");
           
            Context jndiContext = new InitialContext(p);
            Object ref = jndiContext.lookup("FibonacciHome");
            FibonacciHome home = (FibonacciHome) PortableRemoteObject.narrow(
                ref, FibonacciHome.class);
            Fibonacci ff = home.create();
            long result;
            for (int i = 40; i >= 0; i--)
            {
              result = ff.getFibonacci(i);
              System.out.println("Fibonacci of" + i + " is " + result);
            }
        } catch (java.rmi.RemoteException re)
        {
            re.printStackTrace();
        } catch (Throwable t)
        {
            t.printStackTrace();
        }
      }
    }

    解析此例
    J2EE應用說白了其實原理也很簡單,J2EE是分布式系統,意味著server與client是通過RMI-IIOP和JNDI進行交互的。簡單來說就是提供給client一種可以遠程調用server端程序的方法,當然其中的細節會比較復雜,不過這些都是你深入之后才會接觸到的東西。
    本文示例,客戶端通過JNDI利用Home接口創建出一個Remote object,再通過調用Remote object 中的方法與FibonacciBean進行交互,處理邏輯。客戶端并不是直接與Bean進行交互。
    程序中的ejb-jar.xml是用來描述EJB屬性的,jboss.xml是用來定義ejb-jar.xml中Bean所對應的JNDI信息。

    posted @ 2007-08-08 17:02 youngturk 閱讀(1147) | 評論 (2)編輯 收藏

    直接配置MyEclipse的WebLogic服務器

    posted @ 2007-07-26 23:14 youngturk 閱讀(334) | 評論 (0)編輯 收藏

    主題: MyEclipse + WebLogic 開發 EJB 需注意

    一般在使用 EJB 時都是從創立 J2EE 項目的 Application 項中依次創建 Application、EJB、Web 三項,其中:
    Appliction 是用來作為 J2EE 部署時使用的。
    EJB 就是創建 EJB 組件。
    Web 就是一個 Web 服務的容器,包括 HTML、JSP、Servlet、Struts 等。

    在 MyEclipse 中使用 EJB 的兩種方法:
    ①選擇 J2EE 1.3 則可以通過 xDoclet 來根據 App_Bean 來生成 App、Home、Session、Apputil 等。
    ②選擇 J2EE 1.4 的話就需要自己寫 App、Home、Session 等程序代碼。對于整個程序以后的運行過程都是以 JNDI 為主線的展開,要注意
    A.一般要以 Home 中的 JNDI-Name 為標準,具體在使用 xDoclet 的 J2EE 1.3 時參看相關的幫助。
    B.配置主要在 weblogic-ejb-jar.xml 和 ejb-jar.xml 的 JNDI 的設置(這一般是針對于在同一服務器內部的 JNDI 的調用,而對于其他外部情況,需要設置 Ervirament 權限等問題后才能進行 Lookup)。

    由于在服務器等各方面的原因,在部署之前要注意幾個配置文件的正確的位置:

    A.weblogic-ejb-jar.xml 和 ejb-jar.xml 要在 XXXEJB/src/meta-inf 下,可以通過在不同的目錄下導入。
    B.web.xml 和 weblogic.xml 要在 XXXWeb/webRoot/web-inf 下,可以 weblogic.xml 直接用別的程序的,web.xml 需要自己根據需要來配置。

    最后在部署之前,要對整個 Application Server 的三項進行項目清理,然后部署到服務器上。

    posted @ 2007-07-26 23:10 youngturk 閱讀(542) | 評論 (0)編輯 收藏

    getElementByid的用法

         摘要:   閱讀全文

    posted @ 2007-07-26 18:40 youngturk 閱讀(106) | 評論 (0)編輯 收藏

    DHTML

         摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1一樣看到了,那就一并收入下來,原文在此:http://ikshow.cn/ivane/article.asp?id=57  2  3此JS...  閱讀全文

    posted @ 2007-07-26 17:47 youngturk 閱讀(92) | 評論 (0)編輯 收藏

    javascript示例

         摘要: 各種事件Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->   1事件源對象    2event.srcElement.tagName    3...  閱讀全文

    posted @ 2007-07-26 17:19 youngturk 閱讀(754) | 評論 (1)編輯 收藏

    Ajax 應用程序所用到的基本技術:

        只有注冊用戶登錄后才能閱讀該文。閱讀全文

    posted @ 2007-07-26 09:24 youngturk 閱讀(111) | 評論 (0)編輯 收藏

    僅列出標題
    共33頁: First 上一頁 21 22 23 24 25 26 27 28 29 下一頁 Last 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 高清免费久久午夜精品| 99在线观看精品免费99| 亚洲香蕉成人AV网站在线观看| 国产无遮挡裸体免费视频在线观看 | 水蜜桃视频在线观看免费播放高清| 亚洲av福利无码无一区二区| 成人免费视频77777| 日本一区二区在线免费观看| 亚洲欧洲日韩不卡| 国产精品视频免费一区二区三区| 国内精品免费在线观看| 男人天堂2018亚洲男人天堂| 亚洲人成人一区二区三区| 最近免费中文字幕视频高清在线看| 国产一级在线免费观看| 亚洲欧美日韩中文字幕一区二区三区| 国产亚洲精品不卡在线| 成人免费看吃奶视频网站| a级大片免费观看| 精品免费AV一区二区三区| 久久久久亚洲AV无码网站| 国产午夜鲁丝片AV无码免费| 99久久99热精品免费观看国产| 美景之屋4在线未删减免费| 亚洲国产高清在线精品一区 | 日韩亚洲Av人人夜夜澡人人爽| 国产一区二区视频免费| www视频免费看| 男女午夜24式免费视频| 激情小说亚洲图片| 亚洲综合在线一区二区三区| 亚洲一区二区中文| 久久亚洲国产成人影院网站| 日本免费一区二区三区最新| h片在线免费观看| 99久久国产免费中文无字幕| 国产精品九九久久免费视频 | MM131亚洲国产美女久久| 亚洲热妇无码AV在线播放| 黄网址在线永久免费观看 | 亚洲精品午夜视频|