亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 16. ejb note.txt

?? 在達(dá)內(nèi)培訓(xùn)java筆記
?? TXT
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
EJB 3.0
Sun App/JBoss/Weblogic
-----------------------------------------------------------
Day1

1. What is EJB
   EJB(Enterprise JavaBean)是JavaEE應(yīng)用的業(yè)務(wù)層技術(shù)標(biāo)準(zhǔn), 以這項(xiàng)技術(shù)開(kāi)發(fā)的組件叫做EJB組件,常常簡(jiǎn)稱(chēng)EJB
   EJB架構(gòu)是一個(gè)用于開(kāi)發(fā)和部署基于組件的分布式業(yè)務(wù)應(yīng)用的組件架構(gòu)。
   采用EJB架構(gòu)編寫(xiě)的應(yīng)用是可伸縮的、事務(wù)性的、多用戶(hù)安全的。
   可以一次編寫(xiě)這些應(yīng)用,然后部署到任何支持EJB規(guī)范的應(yīng)用服務(wù)器平臺(tái)上。

   特點(diǎn)(和JavaBean比較):
    1)提供遠(yuǎn)程訪問(wèn)的能力
    2)可擴(kuò)展、可插拔的能力
    3)必須在EJB服務(wù)器上運(yùn)行, 可享受服務(wù)器提供的事務(wù)、安全等服務(wù)
      (Jboss, Weblogic, Websphere, Sun Application server) 

名詞解析:
   1.分布式計(jì)算:
       1)把大任務(wù)分成小塊,分發(fā)給大家分別地做,再把每個(gè)人的計(jì)算結(jié)果匯總。
         特點(diǎn):分解工作,減輕成員的負(fù)擔(dān),成員之間做到職責(zé)分明。
       2)充分利用網(wǎng)絡(luò)上空閑的計(jì)算機(jī)的計(jì)算能力。
     分布式組件:
       1)分布對(duì)象技術(shù)是伴隨網(wǎng)絡(luò)而發(fā)展起來(lái)的一種面向?qū)ο蟮募夹g(shù)。
         以前的計(jì)算機(jī)系統(tǒng)多是單機(jī)系統(tǒng),多個(gè)用戶(hù)是通過(guò)聯(lián)機(jī)終端來(lái)訪問(wèn)的,沒(méi)有網(wǎng)絡(luò)的概念。
         網(wǎng)絡(luò)出現(xiàn)后,產(chǎn)生了C/S、B/S的計(jì)算服務(wù)模式。
       2)分布式對(duì)象技術(shù)主要使用了面向?qū)ο蠹夹g(shù)的封裝性,組件可以分布在網(wǎng)絡(luò)的任何位置。
         對(duì)外界來(lái)說(shuō),它所需關(guān)心的只是組件的界面(接口),至于內(nèi)部是如何實(shí)現(xiàn)的則無(wú)需考慮,
         遠(yuǎn)程客戶(hù)通過(guò)方法調(diào)用來(lái)訪問(wèn)它。這是分布式對(duì)象技術(shù)和傳統(tǒng)的面向?qū)ο蠹夹g(shù)的最大不同點(diǎn)。
   2.組件:可獨(dú)立發(fā)布的二進(jìn)制單元
   3.框架,即framework。其實(shí)就是某種應(yīng)用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng);
         代表:Struts,Spring,Hibernate…
   4.中間件,是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源;
         代表:Weblogic,WebSphere,Sun App Server…
   5.容器:
     EJB的家。 離開(kāi)容器,EJB就失去了它的生命和意義

   EJB分布式對(duì)象的基礎(chǔ)
       JRMI(Java Remote Method Invocation) (遠(yuǎn)程方法調(diào)用) 
           --- 使用遠(yuǎn)程消息交換協(xié)議JRMP(Java Remote Messaging Protocol) 進(jìn)行通訊
       CORBA對(duì)象調(diào)用
           --- 使用IIOP(Internet Inter-ORB Protocal) 


2. Why EJB
   簡(jiǎn)化大型分布式系統(tǒng)的開(kāi)發(fā)過(guò)程。
     1)利用網(wǎng)絡(luò)中多臺(tái)計(jì)算機(jī)的計(jì)算能力,構(gòu)建瘦客戶(hù)端(簡(jiǎn)化分布式訪問(wèn)) 
     2)使用EJB服務(wù)器提供的系統(tǒng)級(jí)的企業(yè)服務(wù)(事務(wù)、安全、對(duì)象池....),開(kāi)發(fā)人員需要寫(xiě)業(yè)務(wù)組件
     3)EJB組件具有熱部署的能力(可插拔) 
     4)可以擴(kuò)展現(xiàn)有系統(tǒng)的JavaBean
   優(yōu)點(diǎn):可維護(hù)性、重用性、可擴(kuò)展性、可插拔性
    1)縮短開(kāi)發(fā)時(shí)間:  編程人員可將先行開(kāi)發(fā)的部件裝配到新的程序中,從而加速了新程序的開(kāi)發(fā)
    2)降低集成費(fèi)用:  在將組件集成為一個(gè)完整的方案時(shí),不同開(kāi)發(fā)商采用了一致的標(biāo)準(zhǔn)接口,減少了特殊的定制工作
    3)開(kāi)發(fā)更具靈性:  只需簡(jiǎn)單調(diào)整全部應(yīng)用的一些組件,即可為企業(yè)不同領(lǐng)域的應(yīng)用提供特定的解決方案
    4)降低維護(hù)費(fèi)用:  各組件的軟件功能是相對(duì)獨(dú)立的,在維護(hù)和升級(jí)一個(gè)組件時(shí),不必變動(dòng)整個(gè)應(yīng)用。維護(hù)簡(jiǎn)便


3. When to use EJB
   少量的需要分布式技術(shù)支持的大型項(xiàng)目,比如:
   1)應(yīng)付巨大的客戶(hù)訪問(wèn)量     2)和已有的系統(tǒng)做集成

   EJB可以做什么?
    1)服務(wù)器端的業(yè)務(wù)層框架    2)遵循EJB規(guī)范的標(biāo)準(zhǔn)組件    3)分布式組件
    4)持久化數(shù)據(jù)支持         5)事務(wù)性支持             6)支持并發(fā)多用戶(hù)安全

技術(shù)選擇:
    表現(xiàn)層技術(shù):Servlet, JSP     MVC框架:Struts,Tapestry,MyFaces...
    業(yè)務(wù)層組件:JavaBean         集成層: Spring,EJB 
    持久層技術(shù):JDBC             ORM框架:Hibernate,TopLink,OpenJPA,EJB JPA...
常見(jiàn)技術(shù)組合:
    Struts/MyFaces + EJB(JDBC) 
      需要分布式技術(shù)的大型項(xiàng)目,大并發(fā)訪問(wèn)量,性能要求高
    Struts/MyFaces + Spring + Hibernate
      多數(shù)中小型項(xiàng)目

EJB 3.0
   1)會(huì)話Bean:對(duì)業(yè)務(wù)邏輯建模
     分類(lèi): 有狀態(tài),能分辨不同的客戶(hù);無(wú)狀態(tài),不能分辨不同的客戶(hù)
   2)實(shí)體(Entity)
        POJO
   3)消息Bean
     支持異步通信。沒(méi)有直接的客戶(hù)端,由消息觸發(fā)(驅(qū)動(dòng))


4. First EJB開(kāi)發(fā)步驟:
   EJB組件開(kāi)發(fā):
    1)安裝JBoss,并啟動(dòng)
      默認(rèn)端口:8080;可以修改 %jboss_home%/server/default/deploy/jboss-web.deployer 的server.xml
      把 <Service name="jboss.web"> 的 <Connector port="8080" ... 改成想要的就行
    2)開(kāi)發(fā)一個(gè)普通的Java組件
    3)classpath加上Java EE 5 Libraries(MyEclipse自帶類(lèi)庫(kù)) 
    4)加EJB的標(biāo)注,聲明為EJB組件
      IHello.java (接口標(biāo)注:@Remote ) 
      HelloBean.java (無(wú)狀態(tài)會(huì)話bean標(biāo)注:@Stateless ) 
    5)編譯,在 FirstEJB/bin 運(yùn)行命令: jar cvf HelloEJB.jar .
    6)拷貝HelloEJB.jar到%jboss_home%/server/default/deploy目錄下
      這是正常發(fā)布方法。需要啟動(dòng)%jboss_home%/bin/run.jar (win下用run.bat,linux用run.sh啟動(dòng)) 
    7)確認(rèn)組件已部署(控制臺(tái)沒(méi)有異常) 

   EJB客戶(hù)端開(kāi)發(fā):
    1)classpath加上jbossall-client.jar(這個(gè)包在 %jboss_home%/client/ 下) 
      引入這個(gè)jar包之后才可以初始化上下文(context) 
    2)引入IHello.class
    3)Client.java

5. JNDI(Java 命名和目錄服務(wù)接口) 
   JNDI為JavaEE平臺(tái)提供了一個(gè)通過(guò)名字查找網(wǎng)絡(luò)中一切對(duì)象的標(biāo)準(zhǔn)機(jī)制
   是一套為開(kāi)發(fā)者提供通過(guò)名字方便查找用戶(hù)、機(jī)器、網(wǎng)絡(luò)、對(duì)象和服務(wù)的 Java API
   JNDI實(shí)現(xiàn)了EJB對(duì)象位置的透明性,客戶(hù)端只要能訪問(wèn)JNDI服務(wù),便可以調(diào)用EJB服務(wù)。
   1) 部署ejb的時(shí)候,容器將會(huì)把EJB對(duì)象綁定到命名服務(wù)
   2) 像JDBC可以訪問(wèn)不同的數(shù)據(jù)庫(kù),可以通過(guò)JNDI訪問(wèn)不同的JNDI服務(wù)
      a.設(shè)置上下文工廠
      b.設(shè)置JNDI服務(wù)提供者的url
   3) JNDI的API的使用
      初始化上下文(Context ctx = new InitialContext() ) 
          --- 不同的應(yīng)用服務(wù)器初始化上下文的工廠類(lèi)是不同的,協(xié)議也可能不一樣!!!查文檔吧
      三種方式初始化上下文:
        a)設(shè)置系統(tǒng)屬性(Test.java中)
          System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                org.jnp.interfaces.NamingContextFactory.class.getName());
          上句也可以這樣寫(xiě): System.setProperty("java.naming.factory.initial",
                "org.jnp.interfaces.NamingContextFactory");
          System.setProperty(Context.PROVIDER_URL, "localhost"); 
                //"localhost" 也可以寫(xiě): jnp://127.0.0.1:1099
        b)通過(guò)命令行設(shè)置
        c)在類(lèi)路徑下添加jndi.properties  ---名字不能修改!! 
         jboss中:
          java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
          java.naming.provider.url=jnp://localhost:1099
         Sun App Server 9.0 中:
          java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
          java.naming.provider.url=iiop://127.0.0.1:3700
   4) JNDI API(javax.naming.Context接口) 主要方法的使用
      void bind(String name, Object object);   //將名稱(chēng)綁定到對(duì)象。如果已經(jīng)存在,則拋出異常。
      void rebind(String name, Object object); //將名稱(chēng)綁定到對(duì)象。如果存在,重寫(xiě)所有綁定。
      void rename(String oldName,String newName); //把某一個(gè)已經(jīng)綁定的舊名稱(chēng)改新名字
      void unbind(String name); //取消指定對(duì)象的綁定。
      Object lookup(String name); //查找指定的對(duì)象。
      注意:這4個(gè)方法都 throws NamingException;
   5) JBoss下配置JNDI名稱(chēng)
      在jboss下配置bean的JNDI名可以采取三種方式: 
      第一種:也是默認(rèn)的,"beanname/remote" 
      第二種:使用@RemoteBinding注釋。(導(dǎo)入jboss-annotations-ejb3.jar)
             @RemoteBinding(jndiBinding="jndiName")  --- 這種方式不好,與JBoss耦合!!!
      第三種:使用jboss.xml文件,此文件要放在src\META-INF目錄下。具體內(nèi)容見(jiàn)下面:
<jboss>   
   <enterprise-beans>   
      <session>   
         <ejb-name>BeanName</ejb-name>   
         <jndi-name>jnidname</jndi-name>   
      </session>     
   </enterprise-beans>   
</jboss> 


6. 遠(yuǎn)程調(diào)用的原理
   1)使用Socket進(jìn)行網(wǎng)絡(luò)通信
   2)使用代理模式,使得調(diào)用服務(wù)器端的遠(yuǎn)程對(duì)象,看起來(lái)像調(diào)用本地對(duì)象一樣
   3)客戶(hù)端的代理叫做Stub(樁) 
   4)服務(wù)端的Skeleton(框架) 
   5)調(diào)用過(guò)程: Client -> Stub(遠(yuǎn)程接口) -> Skeleton -> EJB Object(也叫遠(yuǎn)程對(duì)象)

   RMI簡(jiǎn)介
    1)RMI(Remote Method Invocation,遠(yuǎn)程方法調(diào)用)是用Java在JDK1.1中實(shí)現(xiàn)的,它增強(qiáng)了開(kāi)發(fā)分布式應(yīng)用的能力。
    2)Java RMI 則支持存儲(chǔ)于不同地址空間的程序級(jí)對(duì)象之間彼此進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程對(duì)象之間的無(wú)縫遠(yuǎn)程調(diào)用。
    3)RMI目前使用Java遠(yuǎn)程消息交換協(xié)議JRMP(Java Remote Messaging Protocol)進(jìn)行通信。
    4)用Java RMI開(kāi)發(fā)的應(yīng)用系統(tǒng)可以部署在任何支持JRE(Java Run Environment,Java運(yùn)行環(huán)境)的平臺(tái)上。但由于JRMP是專(zhuān)為Java對(duì)象制定的,因此,RMI 對(duì)于用非Java語(yǔ)言開(kāi)發(fā)的應(yīng)用系統(tǒng)的支持不足。不能與用非Java語(yǔ)言書(shū)寫(xiě)的對(duì)象進(jìn)行通信。

   RMI架構(gòu)
    1) Stub/Skeleton層
       該層提供了客戶(hù)程序和服務(wù)程序彼此交互的接口。
    2) 遠(yuǎn)程引用層(Remote Reference) 
       中間層,負(fù)責(zé)處理遠(yuǎn)程對(duì)象引用的創(chuàng)建和管理。
    3) 傳輸協(xié)議(Transport Protocal) 
       提供了數(shù)據(jù)協(xié)議,用以通過(guò)線路傳輸客戶(hù)程序和遠(yuǎn)程對(duì)象間的請(qǐng)求和應(yīng)答。

   編寫(xiě)RMI的程序
    1) 定義遠(yuǎn)程接口
       通過(guò)擴(kuò)展 java.rmi.Remote 接口,并定義所需的業(yè)務(wù)方法實(shí)現(xiàn)
       遠(yuǎn)程方法必須聲明拋出 java.rmi.RemoteException 異常;或者這異常的父類(lèi)
       遠(yuǎn)程方法的參數(shù)和返回值必須是實(shí)現(xiàn)序列化接口的類(lèi)(基本類(lèi)型也可以) 
    2) 定義遠(yuǎn)程接口的實(shí)現(xiàn)類(lèi)
       即實(shí)現(xiàn)上一步所定義的接口,給出業(yè)務(wù)方法的具體實(shí)現(xiàn)邏輯。
    3) 編寫(xiě)運(yùn)行 Skeleton 引導(dǎo)程序注冊(cè)RMI服務(wù) (定義協(xié)議,并等待客戶(hù)端調(diào)用) 
    4) 編寫(xiě)客戶(hù)端 Stub;(遵守協(xié)議的端口、讀取發(fā)送信息的方式;供調(diào)用) 
       使用動(dòng)態(tài)類(lèi)加載機(jī)制(反射機(jī)制) 
    5) 編寫(xiě)客戶(hù)端Client,調(diào)用遠(yuǎn)程對(duì)象


7. Local接口和EJB組件的依賴(lài)注入
   1)本地接口: @Local
   2)EJB組件的依賴(lài)注入:@EJB(mappedName="EJB Name/remote") 

  ejb客戶(hù)端開(kāi)發(fā)步驟:
    1)引入ejb遠(yuǎn)程接口(a方式.引入ejb工程, b.把遠(yuǎn)程接口直接Copy過(guò)來(lái)) 
    2)引入jbossall-client.jar
    3)保證src目錄下面有一個(gè)jndi.properties
    4)客戶(hù)代碼,如:Test.java

8. Remote 和 Local
    Local(默認(rèn)方式)            Remote
    使用@Local標(biāo)注             使用@Remote標(biāo)注
    只能本地調(diào)用,遠(yuǎn)程不行        既可以本地調(diào)用,也可以遠(yuǎn)程調(diào)用
    避免網(wǎng)絡(luò)交換過(guò)程             無(wú)法避免網(wǎng)絡(luò)交換過(guò)程,性能差
    允許傳遞未序列化的參數(shù)        不允許傳遞未序列化的參數(shù)

    注意:要調(diào)用實(shí)現(xiàn)Local接口的sessionbean,客戶(hù)端程序和EJB必須在同一JVM的服務(wù)器環(huán)境。
    遠(yuǎn)程客戶(hù)端也可以通過(guò) 與EJB在同一JVM的代理去訪問(wèn)(如Stub/Skeleton;或者用一個(gè)@Remote的Bean間接調(diào)用) 

-----------------------------------------------------------
Day2

1. EJB的Web客戶(hù)
   在web項(xiàng)目中調(diào)用EJB
   web項(xiàng)目在tomcat部署:
     web項(xiàng)目中必須包含遠(yuǎn)程接口
     web項(xiàng)目必須導(dǎo)入jbossall-client.jar
   web項(xiàng)目在jboss部署: (在同一臺(tái)服務(wù)器上部署) 
     web項(xiàng)目: 不需要 遠(yuǎn)程接口和jbossall-client.jar(注意: 一個(gè)JBoss中不能出現(xiàn)兩個(gè)相同的類(lèi)) 

2. EJB編程模型

3. EJB的分類(lèi)(2.X分類(lèi)) 
   1)Session Bean(會(huì)話Bean)  (Stateless和Stateful)       --- 對(duì)業(yè)務(wù)邏輯建模
   2)Entity Bean(實(shí)體Bean,3.0使用JPA替代)  -- POJO        ---對(duì)領(lǐng)域模型建模
   3)Message Driven Bean(消息驅(qū)動(dòng)Bean)                   --- 支持異步通訊,沒(méi)有直接的客戶(hù)端,由消息驅(qū)動(dòng)

4.EJB的系統(tǒng)服務(wù)
   1)事務(wù)
   2)安全
   3)對(duì)象池


5. 部署描述符和標(biāo)注
   早期版本使用配置文件開(kāi)發(fā)EJB, EJB3.0使用Annotation簡(jiǎn)化開(kāi)發(fā)
   1)開(kāi)發(fā)階段:開(kāi)發(fā)人員使用Annotation開(kāi)發(fā)
   2)部署階段:部署人員使用部署描述符部署(將覆蓋annotation配置) 

   部署描述符:
    1) 標(biāo)準(zhǔn)部署描述符:ejb-jar.xml
       <ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd ">

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕免费观看一区| 亚洲人精品午夜| 欧美在线不卡视频| 日韩福利电影在线观看| 国产精品乱码一区二三区小蝌蚪| 欧美体内she精视频| 国产69精品久久久久777| 午夜激情一区二区三区| 中文字幕第一区| 日韩精品一区二区三区蜜臀 | 欧美日韩精品免费| 成人网在线播放| 美日韩一区二区三区| 亚洲综合丁香婷婷六月香| 国产欧美一区视频| 精品久久久久久久久久久久久久久 | 亚洲一区二区三区视频在线| 国产欧美日韩中文久久| 精品少妇一区二区三区在线视频| 欧美色成人综合| 91在线国产福利| 成人午夜在线视频| 国产酒店精品激情| 激情偷乱视频一区二区三区| 日韩黄色片在线观看| 亚洲国产视频一区| 亚洲私人黄色宅男| 最新不卡av在线| 国产精品视频一区二区三区不卡| 精品成人一区二区三区四区| 91精品免费在线| 91精品国产综合久久小美女| 欧美日韩国产精选| 精品污污网站免费看| 在线免费观看一区| 欧美色视频一区| 欧美在线免费观看亚洲| 欧美色图12p| 欧美少妇一区二区| 欧美日韩国产免费| 欧美高清精品3d| 6080亚洲精品一区二区| 欧美精品粉嫩高潮一区二区| 欧美日韩五月天| 7777女厕盗摄久久久| 6080国产精品一区二区| 欧美丰满嫩嫩电影| 日韩视频一区在线观看| 日韩一级视频免费观看在线| 日韩一卡二卡三卡四卡| 精品久久五月天| 国产偷国产偷精品高清尤物 | 91亚洲资源网| 日本道色综合久久| 欧美日韩国产一级片| 在线播放日韩导航| 日韩亚洲欧美在线| 久久久精品免费免费| 国产偷国产偷亚洲高清人白洁| 亚洲国产精品黑人久久久| 国产精品情趣视频| 一区二区不卡在线播放 | 亚洲黄色免费电影| 夜夜嗨av一区二区三区| 日韩中文字幕91| 国产乱淫av一区二区三区| av激情综合网| 欧美伊人久久大香线蕉综合69 | 日韩欧美国产高清| 久久久国际精品| 亚洲视频一区二区在线| 亚洲网友自拍偷拍| 精品一区二区免费视频| 成人一级视频在线观看| 欧洲精品一区二区| 欧美成人艳星乳罩| 欧美国产激情二区三区| 亚洲午夜羞羞片| 久久超碰97中文字幕| 北条麻妃国产九九精品视频| 欧美最新大片在线看| 日韩欧美一区在线| 国产精品久久久久久久久免费樱桃| 亚洲精品高清在线| 精品一区精品二区高清| 成人精品鲁一区一区二区| 欧美三级视频在线播放| 精品不卡在线视频| 亚洲免费色视频| 美女精品自拍一二三四| 色婷婷综合中文久久一本| 欧美一级欧美一级在线播放| 国产精品蜜臀av| 久久综合综合久久综合| 91丝袜国产在线播放| 欧美成人精品1314www| 亚洲靠逼com| 国产精品亚洲成人| 欧美肥大bbwbbw高潮| 中文欧美字幕免费| 久久99国产精品久久99| 欧美综合视频在线观看| 中文字幕免费不卡| 精品一区二区在线观看| 欧美日韩二区三区| 国产精品久久久久久久裸模| 激情六月婷婷久久| 欧美年轻男男videosbes| 亚洲欧美综合在线精品| 精品亚洲国产成人av制服丝袜| av一区二区三区在线| 欧美一区二区精美| 亚洲国产欧美在线| 不卡欧美aaaaa| 欧美大胆一级视频| 亚洲成人动漫av| 日本高清视频一区二区| 久久精品亚洲国产奇米99| 亚洲自拍偷拍图区| 大桥未久av一区二区三区中文| 欧美日韩精品久久久| 国产日韩精品一区| 日本午夜精品视频在线观看| 91九色最新地址| 欧美激情中文不卡| 久久 天天综合| jlzzjlzz欧美大全| 国产精品嫩草影院av蜜臀| 蜜桃av噜噜一区| 欧美少妇bbb| 亚洲免费在线看| 成人动漫精品一区二区| 国产精品灌醉下药二区| 国产在线精品一区二区不卡了 | 精品一区二区免费视频| 欧美精品一卡两卡| 亚洲综合丝袜美腿| 91在线云播放| 国产女主播一区| 日本va欧美va精品| 美女视频黄免费的久久| 欧美剧情片在线观看| 亚洲精品高清在线| 色婷婷国产精品| 樱花草国产18久久久久| 不卡的电视剧免费网站有什么| 国产精品女主播av| 成人app软件下载大全免费| 久久久www成人免费毛片麻豆| 久久精品99国产精品日本| 91精品国产综合久久国产大片| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩激情一区二区三区| 亚洲午夜免费视频| 欧美色视频在线观看| 亚洲第一福利一区| 欧美日韩aaaaa| 亚洲成人高清在线| 在线成人免费视频| 奇米色777欧美一区二区| 欧美亚洲综合另类| 男人的天堂久久精品| 欧美不卡激情三级在线观看| 国模冰冰炮一区二区| 久久男人中文字幕资源站| 久久精品国产久精国产| 久久精品亚洲麻豆av一区二区| 国产成人精品免费网站| 欧美极品xxx| 91影视在线播放| 亚洲欧美日韩在线| 91精品福利在线一区二区三区| 日本 国产 欧美色综合| 精品国产乱码久久| 国产成人三级在线观看| 最新欧美精品一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲欧美日本韩国| 欧美日韩国产成人在线91| 精品一区二区三区视频| 亚洲精品国久久99热| 337p亚洲精品色噜噜噜| 狠狠色狠狠色综合日日91app| 久久久蜜桃精品| 91国产免费看| 麻豆国产欧美日韩综合精品二区| 国产亚洲精品资源在线26u| 欧美少妇xxx| 狠狠色2019综合网| 亚洲三级在线免费观看| 51精品视频一区二区三区| 国产一区二区三区黄视频| 依依成人综合视频| 国产亚洲短视频| 欧美日韩日本视频| 国产精品一线二线三线精华| 自拍偷拍欧美精品| 欧美日韩久久久一区| 国产美女精品一区二区三区| 亚洲男人都懂的|