日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)

發布時間:2024/4/17 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://cuishen.iteye.com/blog/430735

大家平日使用spring + hibernate做項目的時候大概都接觸過下面的spring配置代碼:

下面是使用普通的jdbc驅動獲得DataSource的配置

Xml代碼 ?
  • <bean?id="dataSource"?class="org.springframework.jdbc.datasource.DriverManagerDataSource">??
  • ????<property?name="driverClassName"><value>oracle.jdbc.OracleDriver</value></property>??
  • ????<property?name="url"><value>jdbc:oracle:thin:@caij-b815c8aab6:1521:cui</value></property>??
  • ????<property?name="username"><value>cuishen</value></property>??
  • ????<property?name="password"><value>cuishen</value></property>??
  • </bean>??
  • <bean?id="sessionFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????<property?name="mappingResources"><list>??
  • ?????????<value>com/cuishen/testDao/pojo/Test.hbm.xml</value>??
  • ????</list></property>??
  • ????<property?name="hibernateProperties"><props>??
  • ????????<prop?key="dialect">org.hibernate.dialect.Oracle9Dialect</prop>??
  • ????????<prop?key="connection.autocommit">true</prop>??
  • ????</props></property>??
  • ????<property?name="dataSource"><ref?local="dataSource"/></property>??
  • </bean>??
  • <bean?id="txManager"?class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
  • ????<property?name="sessionFactory"><ref?local="sessionFactory"/></property>??
  • </bean>??
  • <bean?id="dao"?class="com.conserv.dao.impl.HibernateDaoImpl"?init-method="init"?destroy-method="destroy">??
  • ????<property?name="transactionManager"><ref?local="txManager"/></property>??
  • ????<property?name="dialect"><value>Oracle9</value></property>??
  • </bean>??
  • <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>oracle.jdbc.OracleDriver</value></property><property name="url"><value>jdbc:oracle:thin:@caij-b815c8aab6:1521:cui</value></property><property name="username"><value>cuishen</value></property><property name="password"><value>cuishen</value></property></bean><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="mappingResources"><list><value>com/cuishen/testDao/pojo/Test.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="dialect">org.hibernate.dialect.Oracle9Dialect</prop><prop key="connection.autocommit">true</prop></props></property><property name="dataSource"><ref local="dataSource"/></property></bean><bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"><ref local="sessionFactory"/></property></bean><bean id="dao" class="com.conserv.dao.impl.HibernateDaoImpl" init-method="init" destroy-method="destroy"><property name="transactionManager"><ref local="txManager"/></property><property name="dialect"><value>Oracle9</value></property></bean>

    下面是通過JNDI獲得的DataSource的配置,只要將上面的id為"dataSource"的bean換成下面的配置就行了

    Xml代碼 ?
  • <bean?id="dataSource"?class="org.springframework.jndi.JndiObjectFactoryBean">??? ??
  • ;property?name="jndiName"?value="cs"?/>??? ??
  • </bean>??
  • <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="cs" /> </bean>

    配置很簡單,使用也非常方便,spring毫不挑食,不管是jdbc版的DataSource也好,是JNDI版的也好,它都能接受,那這個兼容性是怎么做到的呢??現在從源代碼入手來一探究竟:

    1. 先看看jdbc版的DataSource - org.springframework.jdbc.datasource.DriverManagerDataSource

    Java代碼 ?
  • public?class?DriverManagerDataSource?extends?AbstractDataSource??
  • public class DriverManagerDataSource extends AbstractDataSource

    再看看這個AbstractDataSource:

    Java代碼 ?
  • public?abstract?class?AbstractDataSource?implements?javax.sql.DataSource??
  • public abstract class AbstractDataSource implements javax.sql.DataSource

    哈哈,原來DriverManagerDataSource是javax.sql.DataSource的實現類,那做為bean注入給sessionFactory真是無可厚非

    我們再看看它內部的實現細節

    Java代碼 ?
  • return?DriverManager.getConnection(url,?props);??
  • return DriverManager.getConnection(url, props);

    哈哈,這代碼是不是再熟悉也不過啦?原來DriverManagerDataSource實現了javax.sql.DataSource接口,本質是對jdbc連接數據庫的簡單封裝

    2. 接下來看看JNDI版的DataSource - org.springframework.jndi.JndiObjectFactoryBean

    Java代碼 ?
  • public?class?JndiObjectFactoryBean?extends?JndiObjectLocator?implements?FactoryBean??
  • public class JndiObjectFactoryBean extends JndiObjectLocator implements FactoryBean

    追溯JndiObjectFactoryBean的父類和實現的接口以及父類的父類,都和javax.sql.DataSource接口八竿子打不著,沒有一點點淵源,oh,my God! 這怎么可能!?完全不相干的對象怎么能夠被注入?這完全有悖java的精神!但事實擺在眼前,測試是完全通過的!靜下心來,我注意到了JndiObjectFactoryBean實現了FactoryBean接口,一直以來腦子里對FactoryBean模式感到有點模糊,不能完全領會其本質,難道真的是這里面有文章??好,借此機會,好好研究下FactoryBean接口,下面是org.springframework.beans.factory.FactoryBean源代碼里一段注釋:

    Java代碼 ?
  • /** ?
  • ?*?Interface?to?be?implemented?by?objects?used?within?a?BeanFactory ?
  • ?*?that?are?themselves?factories.?If?a?bean?implements?this?interface, ?
  • ?*?it?is?used?as?a?factory,?not?directly?as?a?bean. ?
  • ?* ?
  • ?*?<p><b>NB:?A?bean?that?implements?this?interface?cannot?be?used ?
  • ?*?as?a?normal?bean.</b>?A?FactoryBean?is?defined?in?a?bean?style, ?
  • ?*?but?the?object?exposed?for?bean?references?is?always?the?object ?
  • ?*?that?it?creates. ?
  • ?*/??
  • /*** Interface to be implemented by objects used within a BeanFactory* that are themselves factories. If a bean implements this interface,* it is used as a factory, not directly as a bean.** <p><b>NB: A bean that implements this interface cannot be used* as a normal bean.</b> A FactoryBean is defined in a bean style,* but the object exposed for bean references is always the object* that it creates.*/

    翻譯過來是說:所有實現FactoryBean接口的類都被當作工廠來使用,而不是簡單的直接當作bean來使用,FactoryBean實現類里定義了要生產的對象,并且由FactoryBean實現類來造該對象的實例,看到這里聰明的你大概已經能猜出個八九不離十了吧

    我們回過頭來看看JndiObjectFactoryBean的實現細節

    Java代碼 ?
  • private?Object?jndiObject; ??
  • /** ?
  • ?*?Look?up?the?JNDI?object?and?store?it. ?
  • ?*?廣義上說是造對象的過程,就本例而言,是通過JNDI獲得DataSource對象 ?
  • ?*/??
  • public?void?afterPropertiesSet()?throws?IllegalArgumentException,?NamingException?{ ??
  • ????super.afterPropertiesSet(); ??
  • ??
  • ????if?(this.proxyInterface?!=?null)?{ ??
  • ????????if?(this.defaultObject?!=?null)?{ ??
  • ????????????throw?new?IllegalArgumentException( ??
  • ????????????????????"'defaultObject'?is?not?supported?in?combination?with?'proxyInterface'"); ??
  • ????????} ??
  • ????????//?We?need?a?proxy?and?a?JndiObjectTargetSource. ??
  • ????????this.jndiObject?=?JndiObjectProxyFactory.createJndiObjectProxy(this); ??
  • ????} ??
  • ??
  • ????else?{ ??
  • ????????if?(!this.lookupOnStartup?||?!this.cache)?{ ??
  • ????????????throw?new?IllegalArgumentException( ??
  • ????????????????"Cannot?deactivate?'lookupOnStartup'?or?'cache'?without?specifying?a?'proxyInterface'"); ??
  • ????????} ??
  • ????????if?(this.defaultObject?!=?null?&&?getExpectedType()?!=?null?&& ??
  • ????????????????!getExpectedType().isInstance(this.defaultObject))?{ ??
  • ????????????throw?new?IllegalArgumentException("Default?object?["?+?this.defaultObject?+ ??
  • ????????????????????"]?of?type?["?+?this.defaultObject.getClass().getName()?+ ??
  • ????????????????????"]?is?not?of?expected?type?["?+?getExpectedType().getName()?+?"]"); ??
  • ????????} ??
  • ????????//?Locate?specified?JNDI?object. ??
  • ????????this.jndiObject?=?lookupWithFallback(); ??
  • ????} ??
  • } ??
  • /** ?
  • ?*?Return?the?singleton?JNDI?object. ?
  • ?*?返回JNDI對象(DataSource對象) ?
  • ?*/??
  • public?Object?getObject()?{ ??
  • ????return?this.jndiObject; ??
  • } ??
  • ??
  • public?Class?getObjectType()?{ ??
  • ????if?(this.proxyInterface?!=?null)?{ ??
  • ????????return?this.proxyInterface; ??
  • ????} ??
  • ????else?if?(this.jndiObject?!=?null)?{ ??
  • ????????return?this.jndiObject.getClass(); ??
  • ????} ??
  • ????else?{ ??
  • ????????return?getExpectedType(); ??
  • ????} ??
  • }??
  • private Object jndiObject;/*** Look up the JNDI object and store it.* 廣義上說是造對象的過程,就本例而言,是通過JNDI獲得DataSource對象*/public void afterPropertiesSet() throws IllegalArgumentException, NamingException {super.afterPropertiesSet();if (this.proxyInterface != null) {if (this.defaultObject != null) {throw new IllegalArgumentException("'defaultObject' is not supported in combination with 'proxyInterface'");}// We need a proxy and a JndiObjectTargetSource.this.jndiObject = JndiObjectProxyFactory.createJndiObjectProxy(this);}else {if (!this.lookupOnStartup || !this.cache) {throw new IllegalArgumentException("Cannot deactivate 'lookupOnStartup' or 'cache' without specifying a 'proxyInterface'");}if (this.defaultObject != null && getExpectedType() != null &&!getExpectedType().isInstance(this.defaultObject)) {throw new IllegalArgumentException("Default object [" + this.defaultObject +"] of type [" + this.defaultObject.getClass().getName() +"] is not of expected type [" + getExpectedType().getName() + "]");}// Locate specified JNDI object.this.jndiObject = lookupWithFallback();}}/*** Return the singleton JNDI object.* 返回JNDI對象(DataSource對象)*/public Object getObject() {return this.jndiObject;}public Class getObjectType() {if (this.proxyInterface != null) {return this.proxyInterface;}else if (this.jndiObject != null) {return this.jndiObject.getClass();}else {return getExpectedType();}}



    現在揭曉謎底:很簡單,對于JndiObjectFactoryBean對象,spring IOC容器啟動時確實造了它的對象,只不過這時是工廠本身,spring會自動調用工廠里的afterPropertiesSet()方法去造真正需要的bean,然后調用getObject()和getObjectType()方法返回已造好的對象和類型,再將其準確的注入依賴它的其他bean里面,所以并沒有違背java的精神!

    有興趣也可以看看org.springframework.orm.hibernate3.LocalSessionFactoryBean,它也實現了FactoryBean接口,內部實現如出一轍,只不過它擔負的重任不是造JNDI object,而是要造SessionFactory對象

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    =========http://blog.csdn.net/turkeyzhou/article/details/3139258

    在此之前,我已經接觸到了DataSource和JTA事務了,我們都應用到了JNDI技術;在Spring中提供了JNDI技術的整合支持,JNDI如何使用,我就不累贅了,具體我們來看一下整合的源代碼:

    代碼類結構:



    我們從上而下進行分析;
    首先是:

    JndiTemplate:

    jndiTemplate提供了對JNDI服務器的vjndi對象的綁定,查詢,撤銷綁定和重新綁定,從一定意義上來說他跟JdbcTemplate等是同意概念的類,直接與資源管理器進行交互,并且同樣的是采用的回調機制,我們可以看見其依賴了JndiCallbake接口:

    其對綁定,差性能,撤銷,重新綁定的實現的源代碼如下:

  • public?Object?execute(JndiCallback?contextCallback)?throws?NamingException?{
  • ????????Context?ctx?=?createInitialContext();
  • ????????try?{
  • ????????????return?contextCallback.doInContext(ctx);
  • ????????}
  • ????????finally?{
  • ????????????try?{
  • ????????????????ctx.close();
  • ????????????}
  • ????????????catch?(NamingException?ex)?{
  • ????????????????logger.debug("Could?not?close?JNDI?InitialContext",?ex);
  • ????????????}
  • ????????}
  • ????}
  • ????protected?Context?createInitialContext()?throws?NamingException?{
  • ????????return?new?InitialContext(getEnvironment());
  • ????}


  • 這段代碼生成了上下文,進而把上下文傳遞給了JndiCallBack,在這個接口的回調方法,我們直接使用context對資源管理器進行curd交互;

    綁定對象:

  • public?Object?lookup(final?String?name)?throws?NamingException?{
  • ????????if?(logger.isDebugEnabled())?{
  • ????????????logger.debug("Looking?up?JNDI?object?with?name?["?+?name?+?"]");
  • ????????}
  • ????????return?execute(new?JndiCallback()?{
  • ????????????public?Object?doInContext(Context?ctx)?throws?NamingException?{
  • ????????????????Object?located?=?ctx.lookup(name);
  • ????????????????if?(located?==?null)?{
  • ????????????????????throw?new?NameNotFoundException(
  • ????????????????????????????"JNDI?object?with?["?+?name?+?"]?not?found:?JNDI?implementation?
  • returned?null");
  • ????????????????}
  • ????????????????return?located;
  • ????????????}
  • ????????});
  • ????}
  • ????public?void?bind(final?String?name,?final?Object?object)?throws?NamingException?{
  • ????????if?(logger.isDebugEnabled())?{
  • ????????????logger.debug("Binding?JNDI?object?with?name?["?+?name?+?"]");
  • ????????}
  • ????????execute(new?JndiCallback()?{
  • ????????????public?Object?doInContext(Context?ctx)?throws?NamingException?{
  • ????????????????ctx.bind(name,?object);
  • ????????????????return?null;
  • ????????????}
  • ????????});
  • ????}
  • 重新綁定:

  • public?void?rebind(final?String?name,?final?Object?object)?throws?NamingException?{
  • ????????if?(logger.isDebugEnabled())?{
  • ????????????logger.debug("Rebinding?JNDI?object?with?name?["?+?name?+?"]");
  • ????????}
  • ????????execute(new?JndiCallback()?{
  • ????????????public?Object?doInContext(Context?ctx)?throws?NamingException?{
  • ????????????????ctx.rebind(name,?object);
  • ????????????????return?null;
  • ????????????}
  • ????????});
  • ????}

  • 撤銷綁定:

  • public?void?unbind(final?String?name)?throws?NamingException?{
  • ????????if?(logger.isDebugEnabled())?{
  • ????????????logger.debug("Unbinding?JNDI?object?with?name?["?+?name?+?"]");
  • ????????}
  • ????????execute(new?JndiCallback()?{
  • ????????????public?Object?doInContext(Context?ctx)?throws?NamingException?{
  • ????????????????ctx.unbind(name);
  • ????????????????return?null;
  • ????????????}
  • ????????});
  • ????}
  • ????
  • }
  • 通過JndiTemplate,我們實現了底層訪問代碼;形成了具體實現層;與上層開來;

    JndiAccessor:只是單純的對JndiTemplate進行了包裝,隔離了底層的實現細節;

    JndiLocatorSupport的主要擴展的功能是,如果我們在配置JndiObjectFactoryBean的時候,配置了參數:resourceRef為true的話,那么就會如果我們查找的資源中間不包含:或者java:等前綴,我們會自動的會該路徑加上java:comp/env,主要是匹配在j2ee容器里面的jndi資源的查找;

  • ????protected?String?convertJndiName(String?jndiName)?{
  • ????????//?Prepend?container?prefix?if?not?already?specified?and?no?other?scheme?given.
  • ????????if?(isResourceRef()?&&?!jndiName.startsWith(CONTAINER_PREFIX)?&&?jndiName.indexOf(':')?==?-1)?{
  • ????????????jndiName?=?CONTAINER_PREFIX?+?jndiName;
  • ????????}
  • ????????return?jndiName;
  • ????}
  • 最后,我們再來看一下:

    在JndiObjectFactoryBean我們實際上得到的是:

    ?? jndiObject :
    初始化生成如下:

  • public?void?afterPropertiesSet()?throws?IllegalArgumentException,?NamingException?{
  • ????????super.afterPropertiesSet();
  • ????????if?(this.proxyInterface?!=?null)?{
  • ????????????if?(this.defaultObject?!=?null)?{
  • ????????????????throw?new?IllegalArgumentException(
  • ????????????????????????"'defaultObject'?is?not?supported?in?combination?with?'proxyInterface'");
  • ????????????}
  • ????????????//?We?need?a?proxy?and?a?JndiObjectTargetSource.
  • ????????????this.jndiObject?=?JndiObjectProxyFactory.createJndiObjectProxy(this);
  • ????????}
  • ????????else?{
  • ????????????if?(!this.lookupOnStartup?||?!this.cache)?{
  • ????????????????throw?new?IllegalArgumentException(
  • ????????????????????"Cannot?deactivate?'lookupOnStartup'?or?'cache'?without?specifying?a?'proxyInterface'");
  • ????????????}
  • ????????????if?(this.defaultObject?!=?null?&&?getExpectedType()?!=?null?&&
  • ????????????????????!getExpectedType().isInstance(this.defaultObject))?{
  • ????????????????throw?new?IllegalArgumentException("Default?object?["?+?this.defaultObject?+
  • ????????????????????????"]?of?type?["?+?this.defaultObject.getClass().getName()?+
  • ????????????????????????"]?is?not?of?expected?type?["?+?getExpectedType().getName()?+?"]");
  • ????????????}
  • ????????????//?Locate?specified?JNDI?object.
  • ????????????this.jndiObject?=?lookupWithFallback();
  • ????????}
  • ????}

  • 當proxyTnterface不為空的時候
    this
    .jndiObject?=?JndiObjectProxyFactory.createJndiObjectProxy(this);
    生成了一個從Jndi目錄中取得了的對象的代理類:

  • private?static?class?JndiObjectProxyFactory?{
  • ????????private?static?Object?createJndiObjectProxy(JndiObjectFactoryBean?jof)?throws?NamingException?{
  • ????????????//?Create?a?JndiObjectTargetSource?that?mirrors?the?JndiObjectFactoryBean's?configuration.
  • ????????????JndiObjectTargetSource?targetSource?=?new?JndiObjectTargetSource();
  • ????????????targetSource.setJndiTemplate(jof.getJndiTemplate());
  • ????????????targetSource.setJndiName(jof.getJndiName());
  • ????????????targetSource.setExpectedType(jof.getExpectedType());
  • ????????????targetSource.setResourceRef(jof.isResourceRef());
  • ????????????targetSource.setLookupOnStartup(jof.lookupOnStartup);
  • ????????????targetSource.setCache(jof.cache);
  • ????????????targetSource.afterPropertiesSet();
  • ????????????//?Create?a?proxy?with?JndiObjectFactoryBean's?proxy?interface?and?the?JndiObjectTargetSource.
  • ????????????ProxyFactory?proxyFactory?=?new?ProxyFactory();
  • ????????????proxyFactory.addInterface(jof.proxyInterface);
  • ????????????proxyFactory.setTargetSource(targetSource);
  • ????????????return?proxyFactory.getProxy();
  • ????????}
  • ????}
  • 否則直接將從目錄服務器中得到的對象暴露出來;如果查找出現異常,將會把DefaultObject暴露出來;

    總結

    以上是生活随笔為你收集整理的从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    欧美激精品 | 日韩在线短视频 | 日韩电影一区二区在线 | 中文字幕在线观看第一区 | 男女拍拍免费视频 | 天堂网一区 | 欧美精品黑人性xxxx | 国内精品在线一区 | 九九欧美| 成人av av在线| 久久人人爽爽人人爽人人片av | 久久99婷婷| 欧美日韩国产一二 | 91大神精品视频在线观看 | 免费亚洲电影 | 免费观看一级 | 免费亚洲黄色 | 五月激情久久久 | 天天鲁一鲁摸一摸爽一爽 | 99热这里| 欧美亚洲久久 | 国产美腿白丝袜足在线av | 日日干,天天干 | 国产黄色片免费观看 | 亚洲九九影院 | 免费高清影视 | 91九色最新地址 | 色在线国产 | 久久久受www免费人成 | 亚洲激情视频在线观看 | 九九在线免费视频 | 成片免费观看视频999 | 欧洲一区精品 | 天天操夜夜拍 | 色午夜影院 | 久久久九九 | 欧美极品少妇xbxb性爽爽视频 | 国产一级片一区二区三区 | 国产午夜精品一区二区三区欧美 | 亚洲丝袜一区二区 | 免费观看一级视频 | 亚洲日本激情 | 国产精品夜夜夜一区二区三区尤 | 亚洲精品日韩在线观看 | 成人在线观看资源 | 日日弄天天弄美女bbbb | 97国产一区二区 | 久久激情视频免费观看 | 天天干天天拍 | 亚洲区视频在线 | 国产精品婷婷午夜在线观看 | 国产精品久久久一区二区三区网站 | 日韩免费一区二区三区 | 国产麻豆精品久久 | 久久精品这里热有精品 | 91精品播放 | 国产精品区二区三区日本 | 国产999视频在线观看 | 午夜久久精品 | 国产精品青草综合久久久久99 | 精品影院 | 久久人人爽人人片av | 国际精品久久 | 国产成a人亚洲精v品在线观看 | 五月激情片 | 亚洲综合色站 | 成人免费毛片aaaaaa片 | 国产日韩一区在线 | 欧美中文字幕第一页 | 欧美日韩视频在线一区 | 久久久久久久久久久福利 | 国产玖玖在线 | 五月天激情在线 | 国产亚州av | 亚洲区精品| 福利视频一区二区 | 婷婷视频在线观看 | 99 精品 在线 | 久久男人免费视频 | 国产精品原创av片国产免费 | 五月天视频网站 | 在线观看中文字幕 | 久久精品香蕉 | 亚洲精品免费播放 | 久久久久久久久久免费 | av黄色免费看 | 日韩理论在线播放 | 欧美一区二视频在线免费观看 | 亚洲天天看 | 免费视频国产 | 成人试看120秒 | 99免费国产| 涩涩成人在线 | 福利二区视频 | 亚洲视频在线播放 | 国产 日韩 欧美 自拍 | 极品嫩模被强到高潮呻吟91 | 久久超级碰视频 | 在线看不卡av | 在线观看视频色 | 夜色资源站国产www在线视频 | 国产成人精品999 | 草久久精品 | av在线8| 中文字幕精品www乱入免费视频 | 中文在线 | 精品自拍sae8—视频 | 国产成人精品一区二区三区 | 亚洲激情久久 | 激情伊人五月天久久综合 | 一级α片免费看 | 国内精品久久久久久久久 | 91久久久久久国产精品 | 一级片观看 | 亚洲激情av | av免费成人 | 国产亚洲人 | 丰满少妇麻豆av | 日黄网站 | 亚洲视频精品在线 | 又黄又爽又无遮挡免费的网站 | 婷婷av电影| 国产99久久九九精品免费 | 国产拍揄自揄精品视频麻豆 | 精品国产诱惑 | 久草com| 国内精品美女在线观看 | 久久视频一区 | 国产精品久久久久久久妇 | 国产一区播放 | 99久久夜色精品国产亚洲 | 中文字幕在线视频一区二区 | 免费福利视频网站 | 97成人免费 | 国产成视频在线观看 | 久久专区| 天天操天天干天天爱 | 丁香六月网 | av一级免费| 女女av在线 | 欧美一区二区在线刺激视频 | 久久99日韩| 亚洲欧美乱综合图片区小说区 | 中文字幕在线看片 | 国产字幕在线播放 | 97超碰成人 | 国产高清在线视频 | 欧美小视频在线观看 | 国产精品久久久久久久久久99 | 在线观看视频色 | 又黄又刺激 | 日日夜夜免费精品视频 | av高清不卡 | 亚洲视频中文 | 欧美另类v | 亚洲精品在 | 中日韩欧美精彩视频 | 最新国产精品视频 | 国产精品久久久久久久久免费 | 久久不见久久见免费影院 | 亚洲成人国产 | 97超碰资源总站 | 日韩高清免费在线 | 日韩美女av在线 | 国产亚洲一区二区三区 | 爱情影院aqdy鲁丝片二区 | 日韩免费一区 | 91亚洲欧美激情 | 久久国产99 | 久久精品国产99 | 国产一区在线不卡 | 久久99免费观看 | 日韩精品2区 | 日韩xxxxxxxxx | 中文字幕成人网 | www成人精品| 国产丝袜一区二区三区 | 久久久久久综合 | 亚洲精品456在线播放第一页 | 96av在线视频 | 国产高清不卡av | 999久久久免费精品国产 | 黄色性av| www.69xx| 国产成人精品久久二区二区 | 国产特级毛片aaaaaaa高清 | 久久久久久黄色 | 免费观看91| 国产精品露脸在线 | 国产免费精彩视频 | 99热在线观看免费 | 五月婷婷操 | 成人在线播放av | 国产精品第一视频 | 亚洲午夜久久久久久久久 | 国产日韩欧美在线一区 | 黄网站免费久久 | 超碰在线94 | 亚洲国产精品女人久久久 | 91九色精品女同系列 | 亚洲人天堂| 国产91aaa| 久久久久综合网 | 丁香六月av| av官网在线| 国产精成人品免费观看 | 在线观看91精品国产网站 | 天天摸天天舔天天操 | 深爱五月激情五月 | www.久久久.com | 97超碰超碰 | 国产在线观看黄 | av免费片| 日韩videos | 香蕉视频4aa | 永久免费在线 | 人人澡人人爽欧一区 | 久青草电影 | 在线精品观看国产 | 欧美性黄网官网 | 国产精品美女视频 | 国产精品欧美日韩在线观看 | 九九视频精品免费 | av在线电影网站 | 免费视频 三区 | 91亚洲夫妻 | 一区二区三区精品久久久 | 久久不色 | 超级碰碰碰视频 | 亚洲天堂视频在线 | 超碰国产97 | 91夜夜夜 | 国产精品一区二区精品视频免费看 | 国产99久久久精品 | 国产精品扒开做爽爽的视频 | 欧美一二区在线 | 黄色av网站在线观看 | 精品国产一区二区三区久久久蜜臀 | 婷婷综合影院 | 麻豆系列在线观看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | www.看片网站 | 9i看片成人免费看片 | 国产精品18久久久 | 午夜视频99| 狠狠搞,com | 爱射综合| 在线观看免费一级片 | 玖玖精品视频 | 欧美精品久久久久久 | 久久久国产精品网站 | 五月天婷婷在线播放 | 久久99精品久久只有精品 | 成人免费视频网站 | 人人插人人做 | 人人爽人人爽人人 | 精品欧美小视频在线观看 | 51久久成人国产精品麻豆 | 天天av资源 | 久久九九影视 | 91免费在线看片 | 视频国产 | 成年人视频免费在线 | 在线一区观看 | 黄色福利视频网站 | 欧美日本中文字幕 | 国产精品美乳一区二区免费 | 97视频久久久 | 成人h视频在线播放 | 五月天久久精品 | 久久69精品久久久久久久电影好 | 久久精品99国产 | 91福利影院在线观看 | 国产中文字幕久久 | 成人一级在线观看 | 亚洲欧洲精品视频 | 国产在线第三页 | 毛片黄色一级 | 日韩在线色 | av大片免费在线观看 | 日韩精品一区电影 | av电影在线观看完整版一区二区 | 国产91精品高清一区二区三区 | 久久久精品国产免费观看一区二区 | 日本aaaa级毛片在线看 | 不卡的av中文字幕 | 精品99在线观看 | 91视频下载 | 精品一区二区免费 | 亚洲成人精品在线 | 成人在线观看资源 | 性色视频在线 | 黄色影院在线免费观看 | 女人18毛片90分钟 | 久操综合| 国产vs久久 | 欧美 国产 视频 | 在线观看精品国产 | av大全在线免费观看 | 天堂视频一区 | 免费激情在线电影 | 天天综合网在线 | 超碰在线日本 | 亚洲另类xxxx | 91污在线观看 | 五月天综合| 黄色av电影免费观看 | 国产美女黄网站免费 | avwww在线观看 | 免费观看性生交大片3 | 91视频91自拍| 日韩综合视频在线观看 | 国产精品久久久久久一区二区三区 | 美女免费黄视频网站 | 成人国产一区二区 | 精品一二三四五区 | 日韩欧美视频免费看 | 成人综合婷婷国产精品久久免费 | 久草在线视频中文 | 久久综合日 | 97久久精品午夜一区二区 | 国产亚洲成av人片在线观看桃 | 久久激情综合网 | 久久99精品一区二区三区三区 | 久久久久久久久久福利 | 国产伦精品一区二区三区在线 | 国产夫妻av在线 | 国产精品一区二区三区在线看 | 99热在线观看免费 | 亚洲精品网址在线观看 | 丁香五月网久久综合 | 亚洲国产精品视频在线观看 | 国产精品久久久久久av | 久久在线精品视频 | 91热爆视频| 久久久久久久久久久影视 | 久久久网 | 久久激情电影 | 国产原创av在线 | av超碰免费在线 | 免费美女av| 一本大道久久精品懂色aⅴ 五月婷社区 | 国产精品四虎 | 久热av在线| 中文字幕欧美激情 | 亚洲精品视频一二三 | 免费在线观看国产精品 | 成人一区二区三区在线 | 成人国产精品一区二区 | 国产一区二区播放 | 国产91精品在线播放 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产精品亚洲成人 | 国产视频2 | 精品一区 精品二区 | 九九视频在线播放 | 91av社区 | 97视频在线 | 久久综合色一综合色88 | 九九热久久久 | 成人性生交大片免费观看网站 | 日韩欧美有码在线 | 99综合电影在线视频 | av在线免费在线观看 | 日韩videos | 91黄在线看| 亚洲午夜剧场 | 日日躁你夜夜躁你av蜜 | 国产亚洲在线观看 | 狠狠操天天干 | 91在线在线观看 | 黄色的片子 | 国产一级免费av | 亚洲人av免费网站 | 最近日本中文字幕 | 在线日韩视频 | 91大神精品视频在线观看 | 久久精品中文视频 | 99久久久国产精品免费99 | 国产首页 | 激情五月激情综合网 | 久久免费视频精品 | 欧美,日韩 | 欧美成人性战久久 | 视频一区视频二区在线观看 | 中文字幕成人一区 | 91热这里只有精品 | 91精品免费在线观看 | 亚州免费视频 | 97成人在线免费视频 | 亚洲香蕉在线观看 | 麻豆国产精品永久免费视频 | 国产在线精品观看 | 国产一在线精品一区在线观看 | 国产精品久久久久9999吃药 | 日本高清免费中文字幕 | 亚洲精品ww | 香蕉视频免费看 | 国产一区欧美日韩 | 久精品视频在线 | 免费看在线看www777 | 国产精品一区二区在线 | 欧美日韩精品在线观看 | 日韩剧| 97超碰精品| 亚洲欧美国产精品久久久久 | 香蕉视频在线播放 | 久久露脸国产精品 | 日韩二区三区在线 | av片中文字幕 | 三级午夜片| 99国产在线观看 | 成人影片在线播放 | 91av视频在线观看免费 | 国内成人精品2018免费看 | 日韩免费在线视频观看 | 成人毛片一区二区三区 | 国产精品久久久久av免费 | 成人app在线播放 | 亚洲精品久久久久58 | 久爱综合 | 欧美激情第一页xxx 午夜性福利 | 91爱爱中文字幕 | 久久伦理电影网 | 久久久精品国产免费观看一区二区 | 99精品久久99久久久久 | 国产成人一区二区三区在线观看 | 五月婷婷视频 | 91精品1区 | 欧美日韩国产在线精品 | 色91在线 | 国产不卡在线观看视频 | 亚洲国产精品成人va在线观看 | 二区三区在线视频 | 日韩精品免费在线视频 | 四虎成人精品永久免费av九九 | 亚洲国产精品va在线看黑人 | 亚洲视屏一区 | 草久久久久久久 | 欧美精品久久久久久久久久丰满 | 六月色丁香| 久久精品首页 | 2019中文最近的2019中文在线 | 国产91精品一区二区麻豆亚洲 | 欧美极品xxx| 精品一二三区 | 乱男乱女www7788 | 美女网站在线免费观看 | 久久毛片视频 | 国产一区免费视频 | 免费a现在观看 | 午夜精品一区二区三区在线视频 | 亚洲国产日韩av | 午夜av日韩 | 亚洲欧美偷拍另类 | 国产在线免费av | 一区二区三区高清在线 | 欧美日韩久久久 | 成人av在线一区二区 | 精品国产乱子伦一区二区 | 久久精品1区 | 99久久99久久精品国产片果冰 | 亚洲综合欧美日韩狠狠色 | 国产精品专区在线观看 | 天天做日日爱夜夜爽 | 在线观看视频在线 | 激情视频一区二区三区 | 国产午夜影院 | 日韩在线观看不卡 | 亚洲一区二区三区91 | 亚洲高清视频在线观看 | 丁香影院在线 | 久久在线观看视频 | 久久高清免费 | 三级av黄色 | 久久婷婷网 | 久久精品精品电影网 | 国产视频一区在线免费观看 | 亚洲日本欧美 | 久草免费福利在线观看 | 色一级片 | 日韩精品一区二区三区免费观看 | 国产亚洲精品久久久久动 | 亚州av免费 | 狠狠操狠狠干天天操 | 深夜免费小视频 | 激情六月婷婷久久 | av网站在线观看免费 | 亚洲国产伊人 | 综合色影院 | 亚洲精品www| 伊人伊成久久人综合网站 | 六月丁香综合 | 国产原创在线视频 | 国产亚洲午夜高清国产拍精品 | 奇米影视8888| 国产精品一区二区久久 | 国产一级特黄毛片在线毛片 | 日日干av| 国产高清视频在线观看 | 国产精品成人a免费观看 | 久久成人亚洲欧美电影 | 四虎永久精品在线 | 亚洲一区二区精品3399 | 激情网五月婷婷 | 免费在线观看毛片网站 | 国产一区电影在线观看 | 欧美另类调教 | 狠狠gao | 在线免费看黄色 | 精品一二三四在线 | 国精产品999国精产品岳 | 黄色资源网站 | 亚洲日本一区二区在线 | 99久国产| av网站免费在线 | 最近中文字幕免费视频 | 黄色在线成人 | 欧美色图亚洲图片 | 国产精品日韩在线观看 | 深爱婷婷激情 | 午夜视频99 | 444av| 涩涩资源网| 在线韩国电影免费观影完整版 | 97超碰在线久草超碰在线观看 | 欧美激情第一区 | 五月天激情视频 | 久久久国产精品电影 | 欧美精品xxx | 99久久www免费| 亚洲国产精品小视频 | 亚洲综合激情小说 | 亚洲 欧洲av | 狠狠网站| 五月婷婷色丁香 | 天天操天天吃 | 麻花豆传媒mv在线观看网站 | 草免费视频 | 99精品在线直播 | 国产精品嫩草影院9 | 三级毛片视频 | 国产视频2| 成人午夜精品福利免费 | 99在线播放 | 亚洲日本va午夜在线电影 | 欧美日韩视频在线观看一区二区 | 久久99精品国产91久久来源 | 九九综合九九 | 中文字幕综合在线 | 亚洲区精品视频 | 97偷拍在线视频 | 国产精品成 | 日韩aⅴ视频 | 成人h动漫在线看 | 国产精品av免费在线观看 | 国产美女精品久久久 | 国产理论在线 | 国产精品久久久久久久免费观看 | 黄色免费观看 | 91色一区二区三区 | 免费人人干 | 亚洲成成品网站 | 97涩涩视频 | 91精品国产91久久久久 | 国产三级精品三级在线观看 | 久久成年人 | 999日韩 | av理论电影 | 久久美女免费视频 | 亚洲精品资源在线观看 | 色在线视频 | 911国产在线观看 | 日韩欧美在线国产 | 久久久久激情视频 | av永久网址| 91九色蝌蚪视频 | 天天艹天天干天天 | 国产乱码精品一区二区蜜臀 | 国产精选在线 | 天天操夜夜操国产精品 | 波多野结衣日韩 | 97在线视频免费 | 国内精品久久久久久久 | 中文字幕av在线播放 | 最近中文字幕免费av | 日本久久免费视频 | 亚洲国产精品成人女人久久 | 天天操夜夜操国产精品 | 在线亚洲播放 | 欧美一级大片在线观看 | 黄在线免费看 | 精品国产乱码久久久久久1区二区 | 日韩精品一区二区三区视频播放 | 99精品视频免费观看 | 香蕉视频18 | 国产福利91精品一区二区三区 | 黄色av免费电影 | 免费三级影片 | 四虎国产精品成人免费影视 | 91成人精品国产刺激国语对白 | 国产黄色片久久久 | 亚洲欧美激情插 | 国产精品手机在线 | 99热99| 国产亚洲欧洲 | 国产在线精品二区 | 国产色拍拍拍拍在线精品 | 日韩一区二区免费视频 | 成人免费共享视频 | 一区二区三区 中文字幕 | 欧美日韩性生活 | 天天干天天干天天 | 91桃色在线观看视频 | 国产精品专区h在线观看 | 97在线影视| 中文字幕在线观看一区 | 国产午夜精品免费一区二区三区视频 | 婷婷综合av | 超碰在线97免费 | 激情网在线视频 | 国产精品久久久777 成人手机在线视频 | 激情欧美国产 | 国产日韩在线一区 | 国产第页 | 久久精品视频播放 | 成人av免费在线观看 | 色综合天天视频在线观看 | 久久免费美女视频 | 久草免费在线视频观看 | 在线观看电影av | 成人网在线免费视频 | 亚洲九九九在线观看 | 色综合婷婷| 国产成人精品久 | 91丨九色丨蝌蚪丨老版 | 亚洲全部视频 | 中文字幕在线观看免费观看 | 亚洲视频 在线观看 | 免费看的黄色的网站 | 日韩在线观看高清 | 激情大尺度视频 | 在线亚洲日本 | 日韩一级电影网站 | 亚洲精品国产综合99久久夜夜嗨 | 亚洲日本成人网 | 日韩欧美视频在线观看免费 | 日本久久99 | 亚洲黄色在线观看 | 五月婷婷深开心 | 国产超碰在线观看 | 在线视频观看成人 | 国产精品久久久久久久久久ktv | 97看片 | 国产一区二区三区免费观看视频 | 天天操狠狠操夜夜操 | 久久久久免费精品视频 | 中文字幕制服丝袜av久久 | 精品亚洲视频在线观看 | 精品国产一区二区在线 | 婷婷www | 国产福利91精品一区 | 国产尤物视频在线 | 欧美日韩大片在线观看 | 免费看的黄色网 | 久久婷婷色综合 | 国产男男gay做爰 | 久久人人爽爽人人爽人人片av | 黄色网址a | 亚洲精品午夜国产va久久成人 | 在线观看a视频 | 久久69av| 亚洲国产小视频在线观看 | 久久经典国产视频 | 8x成人在线 | 干干日日| 久草影视在线 | 国产精品18久久久久久久久久久久 | 欧美日本在线观看视频 | 国产精品久久久久永久免费观看 | 一区二区精品在线 | 国产一级黄色免费看 | 99电影| 国产黄色在线观看 | 免费福利在线观看 | 综合网色 | 天天夜夜狠狠操 | 久久成年人视频 | 天天操比 | 中文在线免费视频 | 国产不卡av在线播放 | 久久国产免费视频 | 国产精品久久一卡二卡 | 天堂网一区二区三区 | 国产视频69 | 天海冀一区二区三区 | 国产高清av免费在线观看 | 成人18视频| 成人h动漫精品一区二 | 人人超在线公开视频 | 麻豆免费在线播放 | 五月在线| 欧洲精品码一区二区三区免费看 | 欧美日韩精品在线观看视频 | 天天操天天玩 | 久久亚洲在线 | 久久国产综合视频 | 国产亚洲情侣一区二区无 | 黄色成年片| 国产高清视频在线播放 | 日韩在线视频看看 | 亚洲一区二区精品3399 | 在线观看国产www | 99久久久成人国产精品 | 亚洲精品乱码久久久久久蜜桃欧美 | 96av麻豆蜜桃一区二区 | 又黄又爽又刺激的视频 | 国内精品在线看 | 成年人视频在线免费观看 | 欧美国产亚洲精品久久久8v | 亚洲精品美女久久久久 | 日韩欧美精品在线观看视频 | 操久在线 | 亚洲欧洲中文日韩久久av乱码 | 久久特级毛片 | 狠狠色伊人亚洲综合成人 | 久久综合九色 | 亚洲欧美激情精品一区二区 | x99av成人免费 | 狠狠色伊人亚洲综合网站色 | 奇米影视8888在线观看大全免费 | 97日日碰人人模人人澡分享吧 | 欧美伊人网 | 亚洲狠狠操| 亚洲免费小视频 | 国产午夜不卡 | 午夜在线看| 黄色国产高清 | 99国产精品视频免费观看一公开 | 精品久操| 五月激情婷婷丁香 | 国产亚洲在线视频 | 激情深爱.com | 亚洲精品视频在 | 超碰夜夜 | 国产精品1区| 99国产视频 | 亚洲精品综合一二三区在线观看 | 国产精品观看在线亚洲人成网 | 国产精品免费麻豆入口 | av青草 | 免费a级观看 | 在线免费观看黄色av | 麻豆久久久久久久 | 久久精品一二三区白丝高潮 | 久久无码av一区二区三区电影网 | www.看片网站 | 国产精品久久久久国产精品日日 | 国产精品中文久久久久久久 | 中文在线a∨在线 | 狠狠干狠狠久久 | 久久久久免费精品国产小说色大师 | 婷婷久久婷婷 | 色中射| 精品久久91 | 国内精品久久久久久久影视麻豆 | 婷婷色吧 | 国产中文字幕一区 | 久久国产精品久久国产精品 | 玖玖国产精品视频 | 中文字幕三区 | 91亚洲精品在线观看 | 在线免费观看羞羞视频 | 国产一区二区午夜 | 中文高清av | 日日天天| 色婷婷成人 | 99操视频| 久久国产经典视频 | 天天色.com | 色婷婷国产 | 在线观看av网站 | 国产伦精品一区二区三区无广告 | 亚洲精品乱码白浆高清久久久久久 | 亚洲精品www久久久 www国产精品com | 蜜臀av在线一区二区三区 | 激情婷婷丁香 | 天天射天天干天天插 | 黄色.com| 91精品久久久久久 | 国产精品久免费的黄网站 | 国产精品一区二区三区四 | 日本精品久久久久影院 | 精品久久久免费 | 日韩精品字幕 | 成人av在线播放网站 | 91成人在线视频观看 | 国产一区二区三区高清播放 | 免费观看午夜视频 | 在线国产福利 | 激情婷婷av | 日韩久久精品一区二区三区 | 99视频在线免费观看 | 国产成人一区二区三区影院在线 | 激情综合狠狠 | 91热精品 | 色综合天天 | 一级黄色片在线播放 | 久久蜜桃av| 91中文字幕永久在线 | 日韩欧美在线观看 | 精品久久久久久亚洲 | 日韩欧美一区二区三区免费观看 | 亚洲网站在线看 | 亚洲精品国产精品国自产 | 国产91精品高清一区二区三区 | 久久人人爽人人人人片 | 国产一区二区在线观看免费 | 久久国产精品第一页 | 五月婷婷综合久久 | 中文字幕在线观看免费 | 天天综合在线观看 | 97福利在线观看 | 一区二区三区四区免费视频 | 中文字幕在线观看免费高清完整版 | 日本精品一区二区三区在线播放视频 | 黄色免费观看网址 | 久久精品国产成人精品 | 成人免费色 | 黄色的网站免费看 | 97电影在线| 日日干av| 久久理论电影 | 亚洲欧美一区二区三区孕妇写真 | 91桃色视频 | 黄色一级片视频 | 国产一区二区精品久久 | 日本三级香港三级人妇99 | 国产青青青 | 夜色.com| 成人在线黄色 | 91中文字幕在线视频 | 久久久久久久久久久久电影 | 欧美日韩免费观看一区二区三区 | 婷婷网五月天 | 伊人夜夜 | 日日婷婷夜日日天干 | 在线观看精品黄av片免费 | 激情久久伊人 | 玖玖在线看 | 99综合电影在线视频 | 日本久久免费视频 | 久久久久99精品成人片三人毛片 | 久久www免费人成看片高清 | 伊人宗合网 | 国产永久免费高清在线观看视频 | 91最新网址 | 特级黄色视频毛片 | 亚洲a在线观看 | 婷婷网站天天婷婷网站 | 韩日精品视频 | 国产免费人成xvideos视频 | 亚洲综合精品视频 | 日本亚洲国产 | 国产v亚洲v | 亚洲精品中文在线 | 99久久精品国产亚洲 | 国产精品永久免费在线 | 69视频在线播放 | 久久99久久99精品中文字幕 | 福利视频一二区 | 免费精品视频在线观看 | 色av色av色av | 欧美极品久久 | 亚洲欧洲国产精品 | 美女视频久久黄 | 欧美一级日韩三级 | 免费在线激情电影 | 精品9999 | av电影一区 | 狠狠干夜夜操天天爽 | 国产亚洲高清视频 | 久久精品中文字幕免费mv | 久亚洲 | 麻豆国产精品永久免费视频 | 人人插人人草 | 开心激情综合网 | 国产一二区在线观看 | 人人插人人看 | 一区二区免费不卡在线 | 在线欧美日韩 | 在线免费黄色av | 久久精品黄 | 69av视频在线观看 | 二区三区视频 | 91一区二区三区在线观看 | 日日碰狠狠躁久久躁综合网 | 久久99热这里只有精品国产 | 热久久国产精品 | 韩国一区二区三区在线观看 | 亚洲成av人影院 | 国产伦精品一区二区三区高清 | 天天夜夜亚洲 | 免费网站观看www在线观看 | 国产91影视| 青青草久草在线 | 精品久久久亚洲 | 国产精品久久久久久久久久久久久久 | 69夜色精品国产69乱 | 成人免费xxxxxx视频 | 免费看的视频 | 狠狠色丁香婷婷综合 | 久久国产一二区 | 日韩激情小视频 | 亚洲一区久久久 | 国产精品自产拍在线观看 | 欧美成a人片在线观看久 | 综合精品久久久 | 婷婷四房综合激情五月 | 成人黄色毛片视频 | 99精品乱码国产在线观看 | 成人精品一区二区三区中文字幕 | 欧美色图狠狠干 | 免费成人av在线看 | www.五月婷 | 中文字幕五区 | 在线观看911视频 | 一区二区三区高清 | 开心激情五月网 | 亚洲免费精彩视频 | 天天av综合网 | 婷婷天天色 | 亚洲国产网站 | 93久久精品日日躁夜夜躁欧美 | 日韩精品不卡在线 | 91麻豆精品国产自产在线 | av先锋影音少妇 | 久久精品国产成人 | 三级av免费观看 | 亚洲成色777777在线观看影院 | 日韩中文字幕免费看 | 91激情 | 91在线中文字幕 | 91在线看黄| 中文字幕五区 | 日日夜夜添 | 色视频网址 | 狠狠色丁香久久婷婷综合五月 | 999一区二区三区 | 免费在线色 | 免费精品视频在线观看 | 69xxxx欧美 | av蜜桃在线 | 欧美日韩久久 | 黄色一集片 | 五月综合激情网 | 国产黄色在线看 | 日韩欧美一区二区三区视频 | 美女视频一区 | 色网站在线观看 | 日韩精品一区二区三区免费观看视频 | 91精品国产成人观看 | 久久久免费看视频 | 91传媒视频在线观看 | 国产精品久久久久久一区二区三区 | 婷婷草| 精品久久一级片 | 亚洲电影久久 | 国产精品日韩精品 | 久久久精品一区二区三区 | 天堂av色婷婷一区二区三区 | 国产精品国产三级在线专区 | 久久夜色电影 | 中文字幕一区二区在线观看 | 51久久成人国产精品麻豆 | 人人艹视频 | 美女视频一区二区 | 国产美女免费 | 中文字幕一区二区三区乱码在线 | 日本乱视频 | 中文字幕国产一区 | 91av在线播放视频 | 成年人黄色免费视频 | 96视频在线| 国产精品 国产精品 | 中文字幕 91| 激情伊人五月天 | 午夜精品福利影院 | 激情视频区 | 色视频成人在线观看免 | 国产亚洲欧美精品久久久久久 | 免费婷婷 | 国产白浆在线观看 | 欧美一级免费黄色片 | 亚洲精品色婷婷 | 五月天久久激情 | 久久久噜噜噜久久久 | 久草在线视频网站 |