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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

查看tomcat启动文件都干点啥---server对象

發(fā)布時(shí)間:2024/4/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 查看tomcat启动文件都干点啥---server对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ?在上一章查看tomcat啟動(dòng)文件都干點(diǎn)啥---Catalina.java中說(shuō)道了構(gòu)造Server,,這次嘗試著說(shuō)一下Tomcat中Server的內(nèi)容,首先看一下org.apache.catalina.Server接口中定義的方法:

  

  從這里至少可以看出Server中包含很多Service,通過(guò)實(shí)現(xiàn)如下接口添加一個(gè)新的Service到Services的集合中,或者從集合中刪除指定的Service: ?

public void addService(Service service); public void removeService(Service service);

  通過(guò)實(shí)現(xiàn)如下接口來(lái)完成通過(guò)service的名稱返回Service的操作:  

public Service findService(String name);

  通過(guò)實(shí)現(xiàn)如下接口來(lái)完成獲取返回Server中所有Service的操作:  

public Service[] findServices();

  對(duì)于Server的網(wǎng)絡(luò)內(nèi)容的設(shè)置和獲取通過(guò)如下方法,包括設(shè)置地址,端口:  

public int getPort(); public void setPort(int port); public String getAddress(); public void setAddress(String address);

  獲取和指定shotdown命令:

public String getShutdown(); public void setShutdown(String shutdown);

  獲取和設(shè)置父類的加載器:  

public ClassLoader getParentClassLoader(); public void setParentClassLoader(ClassLoader parent);

  如果設(shè)置了Catalina,那么也提供獲取和設(shè)置的方法:  

public Catalina getCatalina(); public void setCatalina(Catalina catalina);

  通過(guò)Server接口至少我們能夠得出結(jié)論:Server中包含多個(gè)Service對(duì)象。

  結(jié)構(gòu)如下:

  

  值得注意的是Server借口繼承了Lifecycle接口,

public interface Server extends Lifecycle

  Lifecycle 接口就是來(lái)控制Server極其組件的生命周期的,組件實(shí)現(xiàn)Lifecycle借口,就可以提供一致化的機(jī)制來(lái)啟動(dòng)和停止組件。下面看一下?Lifecycle的內(nèi)容:

  首先是一些常量列表,小插曲,在Tomcat7.0.53中,tomcat在此處的注釋有小問(wèn)題,有興趣的人可以看一下。  

//組件初始化之前的事件 public static final String BEFORE_INIT_EVENT = "before_init"; //組件初始化之后的事件 public static final String AFTER_INIT_EVENT = "after_init"; //組件start的事件 public static final String START_EVENT = "start"; //組件start之前的事件 public static final String BEFORE_START_EVENT = "before_start"; //組件start之后的事件 public static final String AFTER_START_EVENT = "after_start"; //組件stop之后的事件 public static final String STOP_EVENT = "stop"; //組件stop之前的事件 public static final String BEFORE_STOP_EVENT = "before_stop"; //組件stop之后的事件 public static final String AFTER_STOP_EVENT = "after_stop"; //組件destrop之后的事件 public static final String AFTER_DESTROY_EVENT = "after_destroy"; //組件destrop之前的事件 public static final String BEFORE_DESTROY_EVENT = "before_destroy"; //組件periodic的事件 public static final String PERIODIC_EVENT = "periodic";

  下面就是Lifecycle接口定義的方法列表:

  

  既然Server中包含的主要對(duì)象就是Service,實(shí)現(xiàn)了Service就是對(duì)外提供服務(wù)了,下面在看一下Service的接口定義:

  

  看了定義的方法之后,很想逐一說(shuō)明一下,可能會(huì)發(fā)現(xiàn)問(wèn)題:

  在Service中添加或移除connector的方法:    

public void addConnector(Connector connector); public void removeConnector(Connector connector);

? ? 說(shuō)明在每個(gè)Service中有多個(gè)Connector。

  在Service中添加或移除Executor的方法:   

public void addExecutor(Executor ex); public void removeExecutor(Executor ex);

  返回所有Connector的方法:  

public Connector[] findConnectors();

  返回所有executor的方法:  

public Executor[] findExecutors();

  設(shè)置和獲取Container的方法:  

public Container getContainer(); public void setContainer(Container container);

  獲取和設(shè)置關(guān)聯(lián)的Server對(duì)象的方法:  

public void setServer(Server server); public Server getServer();

  給Service設(shè)置獲取名稱的方法:  

public void setName(String name); public String getName();

  以上就是Service接口定義的主要方法,得出在Service中包含一個(gè)或多個(gè)Connector,包含一個(gè)或多個(gè)Executors和一個(gè)Container對(duì)象。接著上面的Server---Service圖我們可以得出如下關(guān)系圖: ? ? ? ? ? ? ? ? ? ? ?

            |---------Connector 

 Server----Service----|

            ?|----------Container

  

  由此可知在Tomcat中的兩個(gè)重要的組件就是Connector和Container。下面我們著重看一下Connector和Container。

  Container的主要功能是執(zhí)行從客戶端接收的請(qǐng)求,然后給出回應(yīng)。看一下Container接口定義的方法:

  添加,刪除和獲取一個(gè)子Container:  

public void addChild(Container child); public void removeChild(Container child); public Container findChild(String name); public Container[] findChildren();

  對(duì)應(yīng)的在Container中就應(yīng)該有設(shè)置和獲取父Container的方法:  

public void setParent(Container container); public Container getParent();

  在Container中添加,移除和獲取事件監(jiān)聽(tīng)器:

public void addContainerListener(ContainerListener listener); public void removeContainerListener(ContainerListener listener); public ContainerListener[] findContainerListeners();

  在Container中添加,移除和獲取屬性變更監(jiān)聽(tīng)器:  

public void addPropertyChangeListener(PropertyChangeListener listener); public void removePropertyChangeListener(PropertyChangeListener listener);

  觸發(fā)Container事件:

public void fireContainerEvent(String type, Object data);

  記錄指向這個(gè)container的請(qǐng)求與響應(yīng)的日志:  

public AccessLog getAccessLog();

  設(shè)置和獲取作用在該container及其子container上的方法的延遲時(shí)間,單位秒:  

public void setBackgroundProcessorDelay(int delay); public int getBackgroundProcessorDelay();

  設(shè)置和獲取相關(guān)的集群:  

public void setCluster(Cluster cluster); public Cluster getCluster();

  設(shè)置和獲取Loadeer:  

public void setLoader(Loader loader); public Loader getLoader();

  設(shè)置和獲取負(fù)責(zé)管理該Container對(duì)應(yīng)Session pool的Manager對(duì)象:  

public void setManager(Manager manager); public Manager getManager();

  設(shè)置和獲取Container的名字描述:  

public void setName(String name); public String getName();

  設(shè)置和獲取父類的ClassLoader:  

public void setParentClassLoader(ClassLoader parent); public ClassLoader getParentClassLoader();

  獲取Pipeline,負(fù)責(zé)管理該Container中的相關(guān)值:  

public Pipeline getPipeline();

  設(shè)置和獲取Container的上下文資源:  

public void setResources(DirContext resources); public DirContext getResources();

  設(shè)置和獲取啟動(dòng)和停止children container的線程數(shù),可以并行的啟動(dòng)和停止子container:  

public void setStartStopThreads(int startStopThreads); public int getStartStopThreads();

  Connector類中的變量已經(jīng)方法實(shí)現(xiàn)如下:

  代表一個(gè)Container的入口的變量:  

protected Adapter adapter = null;

  實(shí)現(xiàn)Servlet的API規(guī)則匹配的變量:  

protected Mapper mapper = new Mapper();

  是否允許Trace:  

protected boolean allowTrace = false;

  異步請(qǐng)求的超時(shí)時(shí)間:  

protected long asyncTimeout = 10000;

  是否允許DNS查找的標(biāo)記:  

protected boolean enableLookups = false;

  

  Mapper監(jiān)聽(tīng)器:  

protected MapperListener mapperListener = new MapperListener(mapper, this);

  GET和POST方法中,Container解析的最大的參數(shù)個(gè)數(shù)限制(默認(rèn)值為1000,當(dāng)設(shè)置數(shù)值小于0時(shí),表示沒(méi)有限制):  

protected int maxParameterCount = 10000;

  Container接收POST方法傳遞的最大數(shù)據(jù)(默認(rèn)值為2M):  

protected int maxPostSize = 2 * 1024 * 1024;

  在Container認(rèn)證時(shí)候默認(rèn)保存的最大數(shù)據(jù):(默認(rèn)值4K):  

  protected int maxSavePostSize = 4 * 1024;

  一系列以逗號(hào)分割的,application/x-www-form-urlencoded形式的方法請(qǐng)求體,以什么方式轉(zhuǎn)化成方法的集合:  

protected String parseBodyMethods = "POST";

  通過(guò)parseBodyMethods方式確定的方法集合:  

protected HashSet<String> parseBodyMethodsSet;

  監(jiān)聽(tīng)請(qǐng)求端口的數(shù)量:(默認(rèn)值為-1):  

protected int port = -1;

  connector對(duì)象將請(qǐng)求重定向到那個(gè)Server:  

  protected String proxyName = null;

  connector對(duì)象請(qǐng)求重定向到server的哪個(gè)端口:  

protected int proxyPort = 0;

?  從no-ssl到ssl重定向端口:  

protected int redirectPort = 443;

  通過(guò)connector接收到的所有請(qǐng)求的請(qǐng)求方案:  

  protected String scheme = "http";

  是否給每個(gè)接收到的請(qǐng)求設(shè)置安全連接標(biāo)記:  

protected boolean secure = false;

  一個(gè)String幫助對(duì)象:  

protected static final StringManager sm = StringManager.getManager(Constants.Package);

  關(guān)聯(lián)的Service對(duì)象:  

protected Service service = null;

  URL編碼:  

protected String URIEncoding = null;

  是否用body編碼給URL編碼:(不明白)  

protected boolean useBodyEncodingForURI = false;

  是否用IP綁定虛擬主機(jī):  

protected boolean useIPVHosts = false;

  

  下面看一下Connector的構(gòu)造函數(shù):

  

  public Connector() { this(null); } public Connector(String protocol) { setProtocol(protocol); // Instantiate protocol handler try { Class<?> clazz = Class.forName(protocolHandlerClassName); this.protocolHandler = (ProtocolHandler) clazz.newInstance(); } catch (Exception e) { log.error(sm.getString( "coyoteConnector.protocolHandlerInstantiationFailed"), e); } }   Connector的構(gòu)造函數(shù)中第一步是根據(jù)protocol名稱HTTP/1.1,AJP/1.3或者protocol handler的類的全路徑名稱,下面是setProtocol方法的代碼實(shí)現(xiàn):   public void setProtocol(String protocol) { if (AprLifecycleListener.isAprAvailable()) { if ("HTTP/1.1".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.http11.Http11AprProtocol"); } else if ("AJP/1.3".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.ajp.AjpAprProtocol"); } else if (protocol != null) { setProtocolHandlerClassName(protocol); } else { setProtocolHandlerClassName ("org.apache.coyote.http11.Http11AprProtocol"); } } else { if ("HTTP/1.1".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.http11.Http11Protocol"); } else if ("AJP/1.3".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.ajp.AjpProtocol"); } else if (protocol != null) { setProtocolHandlerClassName(protocol); } } View Code

  然后根據(jù)setProtocol方法設(shè)置的protocol handler進(jìn)行實(shí)例化,在setProtocol方法中調(diào)用的setProtocolHandlerClassName方法,如下:

  public void setProtocolHandlerClassName(String protocolHandlerClassName) { this.protocolHandlerClassName = protocolHandlerClassName; }

  給connector的變量protocolHandlerClassName賦值,然后根據(jù)protocolHandlerClassName的值進(jìn)行實(shí)例化。進(jìn)而賦值給protocolHandler 變量。

  然后是方法createObjectNameKeyProperties,該方法的作用是將請(qǐng)求的address參數(shù)拼接成字符串,包括type,port。下面是代碼實(shí)現(xiàn):  

protected String createObjectNameKeyProperties(String type) { Object addressObj = getProperty("address"); StringBuilder sb = new StringBuilder("type="); sb.append(type); sb.append(",port="); int port = getPort(); if (port > 0) { sb.append(getPort()); } else { sb.append("auto-"); sb.append(getProperty("nameIndex")); } String address = ""; if (addressObj instanceof InetAddress) { address = ((InetAddress) addressObj).getHostAddress(); } else if (addressObj != null) { address = addressObj.toString(); } if (address.length() > 0) { sb.append(",address="); sb.append(ObjectName.quote(address)); } return sb.toString(); } View Code

  創(chuàng)建一個(gè)Request對(duì)象,Request是一個(gè)對(duì)Coyote Request的封裝,Coyote 這個(gè)東西很奇怪,是狼的意思,也不知道為什么外國(guó)人喜歡用動(dòng)物名來(lái)給一個(gè)技術(shù)命名,hadoop,hive,pig等,說(shuō)Coyote其實(shí)是對(duì)Socket的一個(gè)封裝,將Socket的請(qǐng)求和相應(yīng)封裝成一個(gè)個(gè)Request和Response,具體如何封裝,都包涵什么信息等內(nèi)容以后展開(kāi)說(shuō)明:

public Request createRequest() { Request request = new Request(); request.setConnector(this); return (request); } View Code

  創(chuàng)建一個(gè)Response對(duì)象:  

public Response createResponse() { Response response = new Response(); response.setConnector(this); return (response); } View Code

  這里面值得注意的地方就是在request和response中,都有setConnector方法,所有connector是request和response的一個(gè)屬性。

  下面看方法destroyInternal,這個(gè)方法是在LifecycleMBeanBase類中定義的,用來(lái)銷(xiāo)毀mapperListener,protocolHandler從Service中移除這個(gè)Connector對(duì)象,代碼實(shí)現(xiàn)如下:  

@Override protected void destroyInternal() throws LifecycleException { mapperListener.destroy(); try { protocolHandler.destroy(); } catch (Exception e) { throw new LifecycleException (sm.getString ("coyoteConnector.protocolHandlerDestroyFailed"), e); } if (getService() != null) { getService().removeConnector(this); } super.destroyInternal(); } View Code

  設(shè)置和獲取是否允許Trace方法的執(zhí)行:  

public void setAllowTrace(boolean allowTrace) { this.allowTrace = allowTrace; setProperty("allowTrace", String.valueOf(allowTrace)); } public boolean getAllowTrace() { return (this.allowTrace); } View Code

  設(shè)置和獲取異步請(qǐng)求的過(guò)期時(shí)間:  

public void setAsyncTimeout(long asyncTimeout) { this.asyncTimeout= asyncTimeout; setProperty("asyncTimeout", String.valueOf(asyncTimeout)); } public long getAsyncTimeout() { return asyncTimeout; } View Code

  配置和獲取參數(shù),參數(shù)這部分在前面的章節(jié)已經(jīng)提到過(guò)了:

public void setAttribute(String name, Object value) { setProperty(name, String.valueOf(value)); } public Object getAttribute(String name) { return getProperty(name); } View Code

  剩下的方法都是設(shè)置和獲取前面定義的變量的值。

  

  Server的主要接口已經(jīng)介紹完了,下面看一下一些關(guān)鍵類的實(shí)現(xiàn):

  Server接口的標(biāo)準(zhǔn)實(shí)現(xiàn)是StandardServer類,同時(shí)StandServer也繼承了LifecycleMBeanBase類,看一下StandardServer中幾個(gè)重要方法的實(shí)現(xiàn):

  

  找?guī)讉€(gè)重要的方法說(shuō)明一下:

  向保存Connector的數(shù)組中添加新的Connector對(duì)象的方法addConnector,代碼實(shí)現(xiàn)如下:  

public void addConnector(Connector connector) { synchronized (connectors) { connector.setService(this); Connector results[] = new Connector[connectors.length + 1]; System.arraycopy(connectors, 0, results, 0, connectors.length); results[connectors.length] = connector; connectors = results; if (getState().isAvailable()) { try { connector.start(); } catch (LifecycleException e) { log.error(sm.getString( "standardService.connector.startFailed", connector), e); } } // Report this property change to interested listeners support.firePropertyChange("connector", null, connector); } } View Code

  首先要把Connector和Serice做關(guān)聯(lián),connector.setService(this),然后將要添加的connector對(duì)象添加到保存Connector對(duì)象的數(shù)組中,此處使用數(shù)組,完全是處于效率的考慮。然后查看當(dāng)前Server對(duì)象的狀態(tài),如果狀態(tài)合法的話,那么啟動(dòng)添加的connector對(duì)象。然后在更改此Connector的狀態(tài)。

  返回Connector集合:  

@Override public Connector[] findConnectors() { return (connectors); } View Code

  在Connector集合中移除connector:  

public void removeConnector(Connector connector) { synchronized (connectors) { int j = -1; for (int i = 0; i < connectors.length; i++) { if (connector == connectors[i]) { j = i; break; } } if (j < 0) return; if (connectors[j].getState().isAvailable()) { try { connectors[j].stop(); } catch (LifecycleException e) { log.error(sm.getString( "standardService.connector.stopFailed", connectors[j]), e); } } connector.setService(null); int k = 0; Connector results[] = new Connector[connectors.length - 1]; for (int i = 0; i < connectors.length; i++) { if (i != j) results[k++] = connectors[i]; } connectors = results; // Report this property change to interested listeners support.firePropertyChange("connector", connector, null); } } View Code

  首先遍歷Connector集合,找到要移除的connector,如果指定的connector對(duì)象狀態(tài)合法,那么調(diào)用該connector的stop方法,然后將指定的connector對(duì)象關(guān)聯(lián)的Server置為null,剩下的內(nèi)容就是整理移除connector對(duì)象的Connector集合。

  設(shè)置Container方法,該container對(duì)象處理Service中所有connector中的請(qǐng)求:  

public void setContainer(Container container) { Container oldContainer = this.container; if ((oldContainer != null) && (oldContainer instanceof Engine)) ((Engine) oldContainer).setService(null); this.container = container; if ((this.container != null) && (this.container instanceof Engine)) ((Engine) this.container).setService(this); if (getState().isAvailable() && (this.container != null)) { try { this.container.start(); } catch (LifecycleException e) { // Ignore } } if (getState().isAvailable() && (oldContainer != null)) { try { oldContainer.stop(); } catch (LifecycleException e) { // Ignore } } // Report this property change to interested listeners support.firePropertyChange("container", oldContainer, this.container); } View Code

  首先是處理這個(gè)Server中原有的Container,原來(lái)可能有Container也有可能沒(méi)有,所以要做判斷,如果存在的話,解除和Service的關(guān)聯(lián),然后要處理新的container對(duì)象。關(guān)聯(lián)Service,啟動(dòng)Container。

  由于Service中只有一個(gè)Container,所以沒(méi)有移除Container方法,在設(shè)置的時(shí)候其實(shí)是完成了刪除更新的操作。

  看一下startInternal方法:  

protected void startInternal() throws LifecycleException { if(log.isInfoEnabled()) log.info(sm.getString("standardService.start.name", this.name)); setState(LifecycleState.STARTING); // Start our defined Container first if (container != null) { synchronized (container) { container.start(); } } synchronized (executors) { for (Executor executor: executors) { executor.start(); } } // Start our defined Connectors second synchronized (connectors) { for (Connector connector: connectors) { try { // If it has already failed, don't try and start it if (connector.getState() != LifecycleState.FAILED) { connector.start(); } } catch (Exception e) { log.error(sm.getString( "standardService.connector.startFailed", connector), e); } } } } View Code

  該方法就是逐一啟動(dòng)Service中的組件,Container,Executor,Connector。

  stopInternal方法:  

protected void stopInternal() throws LifecycleException { // Pause connectors first synchronized (connectors) { for (Connector connector: connectors) { try { connector.pause(); } catch (Exception e) { log.error(sm.getString( "standardService.connector.pauseFailed", connector), e); } } } if(log.isInfoEnabled()) log.info(sm.getString("standardService.stop.name", this.name)); setState(LifecycleState.STOPPING); // Stop our defined Container second if (container != null) { synchronized (container) { container.stop(); } } // Now stop the connectors synchronized (connectors) { for (Connector connector: connectors) { if (!LifecycleState.STARTED.equals( connector.getState())) { // Connectors only need stopping if they are currently // started. They may have failed to start or may have been // stopped (e.g. via a JMX call) continue; } try { connector.stop(); } catch (Exception e) { log.error(sm.getString( "standardService.connector.stopFailed", connector), e); } } } synchronized (executors) { for (Executor executor: executors) { executor.stop(); } } } View Code

  由這兩個(gè)方法也能看出來(lái)Lifecycle對(duì)于個(gè)個(gè)組件生命周期的一致的生命周期的管理機(jī)制。

  其實(shí)最開(kāi)始想用本章說(shuō)一下如何構(gòu)建Server,但是覺(jué)得還是有必要將Server中的內(nèi)容展開(kāi)說(shuō)明一下,在說(shuō)如果構(gòu)建的話可能更好理解。所以就有了這個(gè)只是具有說(shuō)明意義的一節(jié)。?

  

  

轉(zhuǎn)載于:https://blog.51cto.com/fanjiaxing/1400972

總結(jié)

以上是生活随笔為你收集整理的查看tomcat启动文件都干点啥---server对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

天天做天天爱天天综合网 | 五月激情站 | 99视频精品视频高清免费 | 天天操夜夜操 | 天天天插 | 国产精品久久久久久久电影 | 欧美一级视频免费看 | 久久成人高清 | 中文字幕一区二区三区四区久久 | 美女黄濒 | 国产aaa毛片| 久久大视频 | 一区二区三区四区精品 | 久久精品老司机 | 91精品久久久久久综合乱菊 | 日日爽天天 | 久久精品亚洲综合专区 | 欧美成人a在线 | 成人av在线电影 | 成人国产综合 | 亚洲人精品午夜 | 精品久久久影院 | 丝袜美女在线 | 国产麻豆成人传媒免费观看 | 久久久久久久影视 | 天天色天天操综合网 | 国产91精品看黄网站 | 国产视频 亚洲视频 | 在线观看精品视频 | 五月天丁香视频 | 国产日韩视频在线 | 奇米网777 | 免费在线国产 | 99久久99久久 | 美女视频一区二区 | 日本黄色免费在线观看 | 96看片| 五月天激情开心 | 日韩av二区 | 日韩免费网站 | 中日韩在线视频 | 欧美极度另类性三渗透 | 欧美性成人 | 精品久久久久久久久久 | 麻豆传媒电影在线观看 | 国产成人一区二区在线观看 | av在线播放观看 | 麻豆传媒视频在线 | 三级黄色理论片 | 超碰最新网址 | 亚洲精品视频在线看 | 久久新 | 麻豆视屏| 人人艹人人 | 成人黄色大片 | 国产精品igao视频网入口 | 人人澡人人草 | 在线视频欧美亚洲 | 99r在线视频| 亚洲国产中文字幕 | www免费看片com | 久福利 | 国产精品久久久久久久久蜜臀 | 国产精品av在线 | 久久久久免费电影 | 91爱在线| 久草视频一区 | www.天天色 | 91在线视频观看免费 | 日韩av二区| 日韩伦理片一区二区三区 | 亚洲黄色软件 | 九色自拍视频 | 免费看特级毛片 | 91精品国产91久久久久久三级 | 激情五月开心 | 三上悠亚在线免费 | 五月天天av | 日本久久久久久久久久久 | 久久精精品 | 女人魂免费观看 | 伊人午夜 | 玖玖玖在线观看 | 国产亚洲91 | 蜜臀av免费一区二区三区 | 91精品一区二区在线观看 | 欧美精品久久久久久久 | 特级毛片aaa| 国内外成人在线视频 | 成年人在线播放视频 | 亚洲男人天堂2018 | 国产精品久久电影网 | 国产在线播放不卡 | 免费的黄色av | 国内视频 | 国产美女精品在线 | 亚洲精品综合在线观看 | 在线观看视频 | 欧美日韩亚洲精品在线 | 深夜福利视频在线观看 | 免费在线激情电影 | 久久天堂影院 | 中文字幕免费高 | av 一区二区三区四区 | 91在线超碰| 国产精品久久久久久久久大全 | 国产乱视频 | 综合网天天射 | 亚洲最大成人网4388xx | 在线a亚洲视频播放在线观看 | 亚洲人毛片 | 99精品色 | 最近日本韩国中文字幕 | 一区二区丝袜 | 午夜精品剧场 | 成人少妇影院yyyy | 国产 欧美 日产久久 | 国内精品久久久久久久久久清纯 | 丁香五月缴情综合网 | 九九在线高清精品视频 | 黄色国产在线 | 婷婷综合亚洲 | 久久久久亚洲国产精品 | 黄污在线看 | 亚洲精品综合在线 | 国内精品久久久久久久97牛牛 | 18pao国产成视频永久免费 | av福利在线播放 | 国产精品11 | 国产精品久久久久久欧美 | 狠狠操狠狠干天天操 | 精品久久中文 | 九九九在线观看 | 日韩黄色在线电影 | 亚洲综合网 | 成人午夜电影网 | 国产一级片一区二区三区 | 国产免费一区二区三区网站免费 | 免费合欢视频成人app | 国产在线视频一区二区 | 激情影院在线 | 国产精品v欧美精品 | 国产欧美精品一区二区三区四区 | 在线观看亚洲精品视频 | 国产免费作爱视频 | 97久久精品午夜一区二区 | 视频精品一区二区三区 | 一级免费片 | av在线永久免费观看 | 黄色成品视频 | 一区二区丝袜 | 特级西西444www大精品视频免费看 | 天天做夜夜做 | 国产精品自产拍在线观看蜜 | 天天操人人要 | 国产一区二区三区四区大秀 | 国产九色在线播放九色 | 玖玖爱在线观看 | 亚洲乱亚洲乱妇 | 久久大香线蕉app | 亚洲免费国产视频 | 黄色小说18 | 日韩成人黄色av | 久久久国产影视 | 热99在线 | 国产一区二区在线视频观看 | 婷婷色中文 | 国产老熟| 粉嫩aⅴ一区二区三区 | 91av欧美 | 久久精品一区二区三区视频 | 91亚·色 | 免费看片亚洲 | 亚洲精品久久久久久国 | 福利视频区 | www日韩| 99热这里只有精品国产首页 | 国产成人黄色 | 久久精品这里都是精品 | 中文字幕在线观看免费高清电影 | 久久国产精品久久精品 | 五月婷婷综 | 日韩欧美在线第一页 | 欧美日韩国产精品一区二区亚洲 | 亚洲一区二区三区毛片 | 手机色在线 | 国产欧美最新羞羞视频在线观看 | 超碰免费公开 | 免费看国产一级片 | 亚洲精品美女久久 | 亚洲综合爱 | 在线你懂的视频 | 国产亚洲婷婷免费 | 国产精品观看 | 国产精品五月天 | 国产日产精品一区二区三区四区 | 91精品啪在线观看国产81旧版 | 亚洲国产欧美在线人成大黄瓜 | 国产麻豆视频 | 国产精品午夜久久 | 一区二区在线影院 | 成人国产一区二区 | av网站播放 | 99色在线播放 | 天天综合网在线观看 | 96香蕉视频| 麻豆视频免费看 | 精品在线你懂的 | 国产精品久久久久久吹潮天美传媒 | 日日夜夜狠狠操 | 爱av在线网 | 热久精品 | av中文字幕剧情 | 国产精品免费久久久久久久久久中文 | 成人av一区二区兰花在线播放 | 日本激情中文字幕 | 国产高清成人av | 成人av.com| av福利网址导航大全 | 日韩av中文 | 国产伦理久久精品久久久久_ | 91麻豆精品国产91久久久无限制版 | 亚洲国产无| av字幕在线 | 999男人的天堂 | 91免费高清| 成人a视频在线观看 | 国产91国语对白在线 | 18+视频网站链接 | 国产高清av| 亚洲精品资源 | av一区在线 | 最新中文字幕在线资源 | 国产999免费视频 | 国产精品视频app | 日韩天堂在线观看 | 国产在线观看一区 | 国产精品黄色影片导航在线观看 | 国产99久| 国产成人久久精品77777 | 日韩av一卡二卡三卡 | 96久久欧美麻豆网站 | a级成人毛片 | 国产精品 亚洲精品 | 日日夜操 | 亚洲 欧美 国产 va在线影院 | 国产又粗又长的视频 | 免费美女av | 国产高清在线免费视频 | 超碰电影在线观看 | www.狠狠插.com | 国产精品久久毛片 | 99亚洲视频 | 国产又粗又硬又长又爽的视频 | 日韩免费视频 | 奇米影视777影音先锋 | 黄色国产高清 | 成人中文字幕+乱码+中文字幕 | 日韩二区三区在线 | 国产亚洲在线视频 | 日韩最新中文字幕 | 中文字幕在线观看第一区 | 福利视频第一页 | 日本三级香港三级人妇99 | 国产精品免费视频一区二区 | 97超碰在线久草超碰在线观看 | 人人模人人爽 | 日韩理论电影在线观看 | 天天色天天射天天综合网 | 男女激情网址 | 午夜视频欧美 | 爱情影院aqdy鲁丝片二区 | 国产成人精品日本亚洲999 | 99久久er热在这里只有精品15 | 国产视频一二三 | 免费手机黄色网址 | 国产精品精品久久久久久 | 久久久www成人免费毛片 | 91在线入口| 91av手机在线 | 伊人久久精品久久亚洲一区 | 精品国偷自产国产一区 | 国产黄色在线观看 | www.久久色.com | 久久成人在线视频 | 国产在线播放一区二区 | 免费观看全黄做爰大片国产 | 激情综合网五月激情 | 91最新网址在线观看 | 亚洲免费高清视频 | 开心激情综合网 | 免费看的黄网站软件 | 日狠狠 | 人人爽人人澡人人添人人人人 | 97视频资源 | 国产黄色片久久 | 国产一区成人在线 | 亚洲深爱激情 | 不卡的一区二区三区 | 日韩素人在线观看 | 中文字幕网站 | 久久国产精品影片 | 精品九九九| 欧美在线aa | 97人人网| 在线免费黄色 | 在线观看成人毛片 | av中文字幕在线观看网站 | 日韩最新中文字幕 | 大胆欧美gogo免费视频一二区 | 精品国产电影一区二区 | 中文字幕在线一二 | 国产区高清在线 | av成人在线观看 | 99riav1国产精品视频 | 国产亚洲一区二区在线观看 | 日p在线观看 | 久久99热久久99精品 | av色一区| 精品亚洲视频在线观看 | 激情网站网址 | 在线成人av | 黄色免费看片网站 | 日韩欧美视频二区 | 97在线观| 成人免费看片98欧美 | 精品高清美女精品国产区 | 欧美另类xxx | 91视频在线观看大全 | www.com黄色 | 亚洲日本精品视频 | 日本中文字幕网 | 日本在线观看视频一区 | 国产精品久久久久av免费 | 97超碰成人在线 | 色婷婷免费视频 | 久久,天天综合 | 精品久久久亚洲 | 日韩午夜精品福利 | 综合久久久 | 婷婷综合电影 | 91九色porn在线资源 | 91成人精品一区在线播放69 | 久久亚洲免费 | 亚洲日韩精品欧美一区二区 | 日韩高清不卡在线 | 国产精品3 | 国产视频一区在线免费观看 | 国产精品免费一区二区三区在线观看 | 久久综合九色综合97_ 久久久 | 免费在线一区二区三区 | 免费观看v片在线观看 | www.人人草| 欧美日韩国产区 | 99精品欧美一区二区三区 | 久久在线观看视频 | 丁香在线 | 久久精品国产免费 | 日韩在线视频网址 | 在线视频久 | 亚洲激情综合 | 亚洲最大成人网4388xx | 国产精品久久久久久久久久新婚 | 成人h电影 | 中文字幕在线观看播放 | 国产一级免费电影 | 高清视频一区二区三区 | 久久久免费观看 | 午夜影院一区 | 天天操天天操天天操天天 | 欧美日本国产在线观看 | 国产福利精品视频 | 人人超碰人人 | 91最新网址在线观看 | 色婷婷av国产精品 | 精品久久久久久久久久久久久久久久 | 色黄www小说| 欧美污网站| 日韩女同一区二区三区在线观看 | 中中文字幕av在线 | 成人在线播放网站 | 成 人 黄 色 视频 免费观看 | 中文字幕国产 | 美女网站黄在线观看 | 久久看片网 | www日韩精品 | 国产日韩高清在线 | 久久久国产网站 | 最新日韩在线观看 | 激情小说 五月 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 久色婷婷 | 国产综合精品一区二区三区 | 国产精品99久久久久久宅男 | 久久久久久久久久久久国产精品 | 丁香六月婷婷综合 | 91久久精 | 中文字幕中文 | 久久久久久久久久伊人 | 日韩网站一区二区 | 欧美成人黄色片 | 超碰成人网 | 国产成人高清 | 欧美日韩久久不卡 | 天堂av在线免费观看 | 亚洲成av片人久久久 | 激情欧美在线观看 | 96av在线视频 | 又大又硬又黄又爽视频在线观看 | 欧美九九九 | 国产这里只有精品 | 久久久久久久久久福利 | 天天射天天干天天爽 | 欧美性生活大片 | 在线欧美最极品的av | 999精品 | 亚洲小视频在线观看 | 麻豆成人小视频 | 99精品国产高清在线观看 | 91探花在线视频 | 国产玖玖在线 | 亚洲狠狠婷婷综合久久久 | 亚洲人视频在线 | 免费在线观看午夜视频 | 91精品在线观看入口 | 永久免费毛片 | 国产亚洲视频在线 | 在线观看亚洲精品视频 | 久久精品久久久久 | 97精品超碰一区二区三区 | 99久久久成人国产精品 | 最新免费中文字幕 | 日韩二级毛片 | 91亚洲国产成人 | 久久精品99北条麻妃 | 国产精品精品视频 | 国产午夜麻豆影院在线观看 | 国产专区精品视频 | 亚洲国产精品女人久久久 | 在线三级播放 | 久久精品亚洲一区二区三区观看模式 | 欧美午夜久久久 | 三三级黄色片之日韩 | 婷婷久久一区 | 久久国产欧美日韩精品 | 1024在线看片 | 99色视频在线 | 亚洲国产中文在线 | 精品国产精品一区二区夜夜嗨 | 国产精品嫩草影视久久久 | 午夜精品久久久久久久久久久 | 91chinesexxx| 最近中文字幕免费视频 | 色综合狠狠干 | 国产精品视频最多的网站 | 久久精品超碰 | 国产亚洲精品久久久久久久久久 | 91中文字幕一区 | 日韩久久午夜一级啪啪 | 午夜成人免费影院 | 国产一区二区在线播放视频 | 久久99国产精品久久99 | 免费在线黄色av | 久久高清视频免费 | 国产精品久久久久久久久久免费看 | 日韩精品一区二区三区高清免费 | 日韩免费电影网站 | 欧美永久视频 | 国产精品色婷婷 | 久久亚洲私人国产精品 | 在线电影播放 | zzijzzij日本成熟少妇 | 日韩欧美国产成人 | av三区在线 | 欧洲高潮三级做爰 | 精品国产诱惑 | 精品久久久久久久久久久院品网 | 久久伊人国产精品 | 国产特级毛片aaaaaa高清 | 亚洲精品国产精品国 | 欧美一区,二区 | 97视频播放 | www.色综合.com | 在线观看亚洲视频 | 亚洲人人爱 | 99精品久久精品一区二区 | 人人爽久久涩噜噜噜网站 | 美女黄濒 | 国产欧美综合在线观看 | 久久国内免费视频 | 国产99久久久国产精品免费看 | 日韩在线视频免费播放 | 久久精彩免费视频 | 日本久久成人中文字幕电影 | 蜜臀91丨九色丨蝌蚪老版 | 在线99| 久久99精品国产麻豆宅宅 | 国产91九色蝌蚪 | 操老逼免费视频 | 亚洲精品乱码久久 | 在线观看视频一区二区三区 | 九9热这里真品2 | 视频 国产区 | 免费观看v片在线观看 | 国产一区二区在线免费 | 日韩av在线一区二区 | 又黄又刺激又爽的视频 | 日韩精品高清不卡 | 国产精品成人国产乱一区 | 精品视频123区在线观看 | 久久伦理 | 国产中文a | 日韩欧美在线视频一区二区 | 成人免费观看在线视频 | 四虎在线观看视频 | 一本到在线 | 久久看视频 | 精品人妖videos欧美人妖 | 人人插人人艹 | 粉嫩av一区二区三区入口 | 天天躁日日躁狠狠躁av麻豆 | 97香蕉超级碰碰久久免费软件 | 日韩高清免费观看 | 亚洲影视九九影院在线观看 | 久久蜜臀一区二区三区av | 欧美日韩国产精品一区二区 | 国产69熟| 国产精品手机在线 | 91天堂素人约啪 | 成人av片免费观看app下载 | 亚洲精品视频大全 | 色综合久久五月天 | 国产色黄网站 | 午夜视频不卡 | 国产高清视频免费 | 色综合天天天天做夜夜夜夜做 | 中文字幕 国产精品 | 国产高清不卡av | 亚洲一级片 | 一区二区视频电影在线观看 | 日韩a级黄色 | 玖玖玖精品 | 九九久久久久久久久激情 | 欧美另类xxxxx | 国产福利91精品张津瑜 | 亚洲成人免费在线观看 | av在线官网 | 福利视频在线看 | 91av中文| 日韩一区二区三区在线看 | 成人污视频在线观看 | 午夜久久影视 | 免费在线观看毛片网站 | 国模一区二区三区四区 | 九九久久久久久久久激情 | 探花视频网站 | 国产黄色片免费观看 | 日韩电影在线观看中文字幕 | 五月婷婷在线综合 | 人人爽人人搞 | 亚洲日本色 | 亚洲国产日韩欧美在线 | 97视频资源 | 国产麻豆传媒 | 97国产情侣爱久久免费观看 | 91人人爽久久涩噜噜噜 | 精品久久国产精品 | 天天综合网入口 | 日韩69视频 | 女女av在线 | 一二区精品| 国产精品区在线观看 | 91九色在线视频 | 国产高清av免费在线观看 | 久久字幕精品一区 | 亚洲五月六月 | 国产中文字幕一区二区三区 | 99中文字幕在线观看 | 爱情影院aqdy鲁丝片二区 | 高清视频一区二区三区 | 在线观看日本高清mv视频 | 欧美91片 | 九九九免费视频 | www.com黄 | 国产96在线 | 日韩欧美视频一区二区三区 | 国产午夜精品在线 | 久久99热这里只有精品国产 | 久久中文字幕在线视频 | 欧美日韩视频在线观看一区二区 | 91丨九色丨蝌蚪丨对白 | 成人久久精品视频 | 制服丝袜在线91 | 日韩在线观看你懂得 | www日韩在线观看 | 免费福利视频网 | 激情综合色综合久久 | 麻豆综合网 | 91香蕉视频黄 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 欧美黄色免费 | 中文伊人 | 在线观看视频91 | 亚洲激情小视频 | 91精品久久久久久久久久久久久 | 国产精品色婷婷视频 | 国产不卡在线观看 | 亚洲欧美日韩在线看 | 亚洲色图27p | 婷婷亚洲综合五月天小说 | 色婷婷视频在线 | 亚洲精品中文字幕视频 | 99久久婷婷国产一区二区三区 | 人人爽人人澡人人添人人人人 | 91人人视频在线观看 | 日韩精品一区二区在线观看 | 九九热精 | 中文字幕一区二区三区在线播放 | 园产精品久久久久久久7电影 | 亚洲国产日韩欧美在线 | 亚洲精品美女久久 | 国产伦精品一区二区三区在线 | 精品国产一二三四区 | 天天爱天天操天天射 | 久久爱资源网 | 天天爽夜夜爽精品视频婷婷 | 人人草在线视频 | 一区二区三区在线观看免费 | 麻豆精品在线 | www.亚洲黄色 | 在线国产视频 | av 一区 二区 久久 | 98福利在线 | 91麻豆免费看 | 亚洲成色777777在线观看影院 | 免费a级毛片在线看 | 久久久999免费视频 日韩网站在线 | 91看成人 | 狂野欧美激情性xxxx | 最近最新最好看中文视频 | 亚洲天堂网在线观看视频 | 久久综合狠狠综合久久综合88 | 国产精品自产拍在线观看 | 欧美一级日韩三级 | 亚洲成人精品在线 | 国产在线超碰 | 久久精品九色 | 色婷婷啪啪免费在线电影观看 | 性色av免费在线观看 | 最新中文字幕视频 | 美女亚洲精品 | 丁香伊人网 | 色婷婷中文 | 在线小视频你懂得 | 福利网在线| 美女网站在线播放 | 久草在线观看 | 波多野结衣一区二区三区中文字幕 | 伊人干综合 | 国产精品99久久久久久有的能看 | 人人爽人人香蕉 | 精品电影一区 | 久久综合久久综合这里只有精品 | 国产玖玖在线 | 99色亚洲 | 久爱精品在线 | 成人激情开心网 | 99视频导航 | 成人夜晚看av | 欧美精品小视频 | 国产高清视频在线观看 | 天海冀一区二区三区 | 深夜福利视频一区二区 | 亚洲久草在线视频 | 日韩黄色免费看 | 91视频 - 114av | 成人免费在线视频观看 | 国产精品久久久久久久免费 | 国产成人三级三级三级97 | 久久精品视频播放 | 免费视频久久久久 | 国产精品原创av片国产免费 | 久久综合九色九九 | 免费高清男女打扑克视频 | 中文字幕av电影下载 | 亚洲人成免费 | 日韩大陆欧美高清视频区 | 嫩嫩影院理论片 | 日本三级大片 | 激情久久一区二区三区 | 色婷婷视频在线 | 欧美亚洲精品在线观看 | 婷婷av综合 | 日韩伦理片hd| 亚洲aaa毛片 | 8090yy亚洲精品久久 | 国产资源在线观看 | 国内精品久久久久影院一蜜桃 | 国产精品午夜免费福利视频 | 亚洲精品在线一区二区三区 | 337p西西人体大胆瓣开下部 | 天天玩天天干天天操 | 五月的婷婷 | 在线最新av | 成片人卡1卡2卡3手机免费看 | 最近中文国产在线视频 | 日本特黄一级 | 精品日韩中文字幕 | 男女免费av | 狠狠狠色丁香婷婷综合久久88 | 日日夜夜精品视频天天综合网 | 国产涩涩网站 | 97免费在线观看视频 | 91人人网 | 视频在线观看一区 | 国产粉嫩在线 | 91porny九色在线播放 | 国产成人精品一区在线 | 亚洲黄色免费在线 | 久在线 | www.久久爱.cn | 在线观看日韩视频 | 欧美性另类 | 成人免费毛片aaaaaa片 | 亚洲成人av电影在线 | 婷婷中文字幕 | 成人黄色av网站 | 免费黄在线看 | 国产亚洲一级高清 | 午夜少妇一区二区三区 | 免费av在线网站 | 99精品免费在线观看 | 欧美 另类 交 | 91九色精品女同系列 | 国产午夜在线观看 | 日本韩国中文字幕 | 特级西西444www高清大视频 | 欧美日韩国产欧美 | 在线看片成人 | 日韩和的一区二在线 | 亚洲一区二区精品视频 | 99re在线视频观看 | 人人射人人澡 | 99精品一区二区三区 | 99在线看 | 黄色三级免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩欧美精品一区二区 | 久久成人一区二区 | 日韩精品视频免费在线观看 | 亚洲一区在线看 | 九九热免费在线观看 | 三级黄色在线观看 | 国产黄色片在线免费观看 | 曰本免费av | www成人av| 西西www4444大胆在线 | 五月天伊人网 | 国产精品亚洲综合久久 | 亚洲黄色三级 | 色五月激情五月 | 免费网站看v片在线a | 日韩电影在线观看一区二区 | 精品亚洲va在线va天堂资源站 | 麻豆视频在线免费观看 | 日韩超碰在线 | 亚洲精品美女久久久久 | 久久精品超碰 | 最新日韩视频在线观看 | 亚洲成a人片在线观看网站口工 | 欧美日韩3p | 麻豆一区在线观看 | 四虎www com | 国产呻吟在线 | 国产一区二区高清不卡 | 欧美一级大片在线观看 | 四虎永久视频 | 欧美日韩国产二区三区 | 伊人婷婷激情 | 国产色爽 | 成人av教育| 日日干网址 | 欧美少妇xxxxxx | 96av麻豆蜜桃一区二区 | 欧美a视频| 在线观看视频h | 国产视频综合在线 | 在线免费高清视频 | 色a资源在线 | 国产精品粉嫩 | 久久成人久久 | 国产精品青草综合久久久久99 | 国产系列在线观看 | 久久av免费电影 | 超碰在线人人爱 | 狠色狠色综合久久 | 久久黄色精品视频 | 色综合久久久久久久久五月 | 精品夜夜嗨av一区二区三区 | 月下香电影 | 日本久久久久久久久久 | 久草精品视频在线看网站免费 | 麻豆影视在线免费观看 | 亚洲人在线 | 久久久久久久99精品免费观看 | 天天爽天天碰狠狠添 | 国产日韩亚洲 | 色播五月激情五月 | 国产精品视频一二三 | 在线播放 一区 | 91视频啊啊啊 | 久久精品中文 | 在线视频观看亚洲 | 在线观看91 | 久久久久国产一区二区三区 | 亚洲国产经典视频 | 亚洲精品字幕在线观看 | 2019中文 | 免费看的黄色小视频 | 黄色精品久久久 | 超级碰99| 伊人一级 | 激情网站免费观看 | 午夜999 | 91看片淫黄大片在线播放 | 中文字幕一区在线观看视频 | 免费观看国产成人 | av再线观看 | 18国产精品白浆在线观看免费 | 久久精品牌麻豆国产大山 | 久久综合五月天 | 成人av在线直播 | 精品一区二区视频 | 天天天在线综合网 | 色播五月婷婷 | 亚洲香蕉在线观看 | 中文字幕一区二区三区四区 | 久久久www成人免费精品张筱雨 | 久久超级碰 | 国产91亚洲 | 亚洲精品综合一二三区在线观看 | 色av网站| 色综合久| 日韩一区二区免费在线观看 | 成人综合日日夜夜 | 911香蕉 | 狠狠干成人综合网 | 国产精品理论视频 | 亚洲国产精品资源 | 色丁香综合| 久久精品视频99 | 开心色停停 | 中文字幕日韩有码 | 欧美欧美 | 97视频在线观看播放 | 日韩欧美视频一区 | 中文字幕一区二 | 中文一区在线观看 | 国产精品一区在线观看 | 日韩乱色精品一区二区 | 亚洲国产精彩中文乱码av | 成年人网站免费观看 | 一区中文字幕电影 | 人人狠| 国产伦理剧 | 国产亚洲日本 | 天天操夜 | 一区二区视 | 国产欧美精品一区二区三区 | 亚洲视频网站在线观看 | 91亚洲夫妻 | 日日夜夜网 | 97在线免费视频观看 | 日本在线中文 | ww亚洲ww亚在线观看 | 国产精品一区欧美 | 亚洲精品欧美成人 | 99久热精品 | 久久国产精品第一页 | 日韩肉感妇bbwbbwbbw | 欧美性性网 | 狠狠的操狠狠的干 | 碰超在线 | 天天干天天干天天干 | 国产麻豆精品久久一二三 | 国产毛片久久 | 99亚洲视频 | 久久手机免费观看 | 丝袜美腿在线播放 | 久久视频在线视频 | 日韩激情免费视频 | 国内成人综合 | 深爱激情久久 | 日韩欧美一区视频 | 亚洲 欧美变态 另类 综合 | 国产成人精品一区二区在线观看 | 欧美日韩精品在线观看视频 | 日本高清dvd| 国产午夜三级一二三区 | 69精品视频在线观看 | 欧美一区二区在线 | 精品国产伦一区二区三区观看方式 | 最近中文字幕mv | 亚洲成av人电影 | 精品久久五月天 | 五月花丁香婷婷 | 三级黄色在线观看 | 亚洲1区 在线 | 日韩成人免费在线电影 | 岛国av在线免费 | 国产专区精品视频 | 色wwww| 国产91勾搭技师精品 | 999视频在线播放 | 九九久久久久久久久激情 | 亚洲国产视频a | 四虎在线免费观看 | 91精品国产综合久久福利不卡 | 97视频总站 | 欧美国产日韩一区二区三区 | 色偷偷88888欧美精品久久久 | 国产五码一区 | 欧美日韩一区二区久久 | 久久久久久久久久久免费 | 怡红院av久久久久久久 | 色婷婷激情电影 | 91探花系列在线播放 | 国产精品美女久久久 | 国产最新91| 久久在线观看 | 天天干天天操天天射 | 日韩精品免费一线在线观看 | 91在线一区 | 国产99久久久国产 | av福利在线导航 | www.国产毛片 | 黄色录像av| 在线观看的av | 精品福利网站 | 精品一区在线 | 国产一区私人高清影院 | 国产精品久久久久久久久久免费 | 九九热国产视频 | 亚洲精品tv久久久久久久久久 | 99精品免费在线 | 欧美精品黑人性xxxx | 精品福利国产 | 婷婷av色综合 | 国产美女视频免费观看的网站 | 亚洲综合色视频在线观看 | 成人精品视频 | 亚洲视频免费在线观看 | 9色在线视频 | 精品国产一区二区三区av性色 | 中文字幕国产一区 | 亚洲aⅴ在线 | 色射爱 | 久久人人爽人人爽人人片av免费 | 久久久免费视频播放 | 探花视频免费在线观看 | 美女视频又黄又免费 | 日本电影久久 | 婷婷色综 | 欧美一区二区三区激情视频 | 91亚洲在线| 中文字幕第一页在线视频 | 亚洲国产精品成人av | 色国产精品一区在线观看 | 激情电影影院 | 麻豆视频在线 | 综合色影院 | 国产亚洲亚洲 | 国产91全国探花系列在线播放 | 国内精品久久久久久中文字幕 | 婷婷六月丁 | 久久亚洲国产精品 | 国产xxxx做受性欧美88 | 色a网| 久久免费视频一区 | 国产中年夫妇高潮精品视频 | 国产亚洲精品免费 | 五月天激情婷婷 | 久久经典国产 | 精品国产精品久久一区免费式 | 精品一区二区三区四区在线 | 国产精品久久一区二区三区, | 国产高清视频网 | 国产亚洲人成网站在线观看 | 亚洲日本成人 | 久久综合五月天婷婷伊人 | 日日夜夜网 | 婷婷天天色 | 欧美最爽乱淫视频播放 | 免费裸体视频网 | 日韩午夜精品 | 亚洲精品国产精品国 | 成年人免费av | 国产特级毛片aaaaaaa高清 |