成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法

Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法

熱門標(biāo)簽:信貸電銷機器人系統(tǒng) 山東電信外呼系統(tǒng)靠譜嗎 400 電話 申請費用 江蘇自動外呼系統(tǒng)一般多少錢 鸚鵡螺號航海地圖標(biāo)注時間 長沙回撥外呼系統(tǒng) ai電話機器人營銷 比較穩(wěn)定的外呼系統(tǒng) 云南云電銷機器人招商

使用idea開發(fā)工具調(diào)試代碼的時候,如果是java的web項目,使用的是tomcat作為web容器,打斷點debug調(diào)試跟蹤,當(dāng)跟蹤到org.apache.catalina包下的時候,則無法進入,這是因為idea運行的tomcat是通過插件的方式集成的,tomcat里面的lib包不再項目的依賴路徑中,所以不能跟蹤進去

首先在自己項目中被tomcat回調(diào)的接口實現(xiàn)類中,標(biāo)記一個斷點信息,通過idea啟動web項目,當(dāng)出現(xiàn)如圖所示的斷點信息的時候,因為斷點位置標(biāo)記的是tomcat回調(diào)的接口類,所以按照調(diào)用堆棧網(wǎng)上則是tomcat內(nèi)部代碼,但此時雙擊org.apache.catalina包下面的類名,是沒有任何反應(yīng)的,因為我們還沒有將tomcat對應(yīng)的依賴文件添加到classpath下面

添加依賴

<dependency>
 <groupId>org.apache.tomcat</groupId>
 <artifactId>tomcat-catalina</artifactId>
 <version>8.5.55</version>
 <scope>provided</scope>
</dependency>

因為運行時使用的是tomcat的lib目錄下面的jar文件,所以此處的scope使用provided方式

下面就可以進入到tomcat源碼調(diào)試了

tomcat啟動日志是怎么執(zhí)行打出來的?

03-Jun-2020 10:31:30.929 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服務(wù)器版本: Apache Tomcat/8.5.55
03-Jun-2020 10:31:30.938 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服務(wù)器構(gòu)建:    May 5 2020 22:10:54 UTC
03-Jun-2020 10:31:30.938 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服務(wù)器版本號(:   8.5.55.0
03-Jun-2020 10:31:30.938 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系統(tǒng)名稱:   Windows 10
03-Jun-2020 10:31:30.938 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:      10.0
03-Jun-2020 10:31:30.938 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架構(gòu):       amd64
03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 環(huán)境變量:   C:\Program Files\Java\jdk1.8.0_212\jre
03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虛擬機版本:  1.8.0_212-b10
03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供應(yīng)商:    Oracle Corporation
03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:   C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_spring-shiro-training
03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:   D:\tomcat8.5.55\apache-tomcat-8.5.55

通過定位到 VersionLoggerListener 日志可以查看到

private void log() {
 log.info(sm.getString("versionLoggerListener.serverInfo.server.version",
  ServerInfo.getServerInfo()));
 log.info(sm.getString("versionLoggerListener.serverInfo.server.built",
  ServerInfo.getServerBuilt()));
 log.info(sm.getString("versionLoggerListener.serverInfo.server.number",
  ServerInfo.getServerNumber()));
 log.info(sm.getString("versionLoggerListener.os.name",
  System.getProperty("os.name")));
 log.info(sm.getString("versionLoggerListener.os.version",
  System.getProperty("os.version")));
 log.info(sm.getString("versionLoggerListener.os.arch",
  System.getProperty("os.arch")));
 log.info(sm.getString("versionLoggerListener.java.home",
  System.getProperty("java.home")));
 log.info(sm.getString("versionLoggerListener.vm.version",
  System.getProperty("java.runtime.version")));
 log.info(sm.getString("versionLoggerListener.vm.vendor",
  System.getProperty("java.vm.vendor")));
 log.info(sm.getString("versionLoggerListener.catalina.base",
  System.getProperty("catalina.base")));
 log.info(sm.getString("versionLoggerListener.catalina.home",
  System.getProperty("catalina.home")));


 if (logArgs) {
 List<String> args = ManagementFactory.getRuntimeMXBean().getInputArguments();
 for (String arg : args) {
  log.info(sm.getString("versionLoggerListener.arg", arg));
 }
 }


 if (logEnv) {
 SortedMap<String, String> sortedMap = new TreeMap<>(System.getenv());
 for (Map.Entry<String, String> e : sortedMap.entrySet()) {
  log.info(sm.getString("versionLoggerListener.env", e.getKey(), e.getValue()));
 }
 }


 if (logProps) {
 SortedMap<String, String> sortedMap = new TreeMap<>();
 for (Map.Entry<Object, Object> e : System.getProperties().entrySet()) {
  sortedMap.put(String.valueOf(e.getKey()), String.valueOf(e.getValue()));
 }
 for (Map.Entry<String, String> e : sortedMap.entrySet()) {
  log.info(sm.getString("versionLoggerListener.prop", e.getKey(), e.getValue()));
 }
 }
}

發(fā)現(xiàn)是通過鍵值對的方式獲取的,再通過字符串全局搜索發(fā)現(xiàn)

但是匹配的是英文,那么中文是怎么打出來的呢?

最后通過調(diào)試發(fā)現(xiàn)找的是這個

類似上面的東西,調(diào)試的時候發(fā)現(xiàn)tocmat的東西啟動還是相當(dāng)多的
且看下面這個

idea tomcat啟動后的數(shù)據(jù)

03-Jun-2020 10:31:30.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djava.util.logging.config.file=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_spring-shiro-training\conf\logging.properties
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52290,suspend=y,server=n
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-javaagent:C:\Users\Administrator\.IntelliJIdea2018.3\system\captureAgent\debugger-agent.jar
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dfile.encoding=UTF-8
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcom.sun.management.jmxremote=
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcom.sun.management.jmxremote.port=1099
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcom.sun.management.jmxremote.ssl=false
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcom.sun.management.jmxremote.password.file=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_spring-shiro-training\jmxremote.password
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcom.sun.management.jmxremote.access.file=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_spring-shiro-training\jmxremote.access
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djava.rmi.server.hostname=127.0.0.1
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djdk.tls.ephemeralDHKeySize=2048
03-Jun-2020 10:31:30.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dignore.endorsed.dirs=
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcatalina.base=C:\Users\Administrator\.IntelliJIdea2018.3\system\tomcat\Unnamed_spring-shiro-training
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Dcatalina.home=D:\tomcat8.5.55\apache-tomcat-8.5.55
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行參數(shù):-Djava.io.tmpdir=D:\tomcat8.5.55\apache-tomcat-8.5.55\temp

以上還只是基本的環(huán)境配置等啟動
然后是準備鏈接到tomcat服務(wù)

03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.0]加載了基于APR的Apache Tomcat本機庫[1.2.24]。
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]。
03-Jun-2020 10:31:30.941 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
03-Jun-2020 10:31:30.944 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 1.1.1g  21 Apr 2020]
03-Jun-2020 10:31:31.032 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化協(xié)議處理器 ["http-nio-8080"]
03-Jun-2020 10:31:31.046 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
03-Jun-2020 10:31:31.055 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 175489 ms
03-Jun-2020 10:31:31.080 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在啟動服務(wù)[Catalina]
03-Jun-2020 10:31:31.080 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.55
03-Jun-2020 10:31:31.089 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協(xié)議處理句柄["http-nio-8080"]
03-Jun-2020 10:31:31.102 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 47 ms

tomat啟動主要是在Catalina中


然后是

啟動

/**
* Await and shutdown.
*/
public void await() {

 getServer().await();


}

其實tomcat啟動本質(zhì)上就是socket的服務(wù)器罷了

@Override
public void await() {
 // Negative values - don't wait on port - tomcat is embedded or we just don't like ports
 if (port == -2) {
 // undocumented yet - for embedding apps that are around, alive.
 return;
 }
 if (port==-1) {
 try {
  awaitThread = Thread.currentThread();
  while(!stopAwait) {
  try {
   Thread.sleep( 10000 );
  } catch( InterruptedException ex ) {
   // continue and check the flag
  }
  }
 } finally {
  awaitThread = null;
 }
 return;
 }


 // Set up a server socket to wait on
 try {
 awaitSocket = new ServerSocket(port, 1,
  InetAddress.getByName(address));
 } catch (IOException e) {
 log.error("StandardServer.await: create[" + address
    + ":" + port
    + "]: ", e);
 return;
 }


 try {
 awaitThread = Thread.currentThread();


 // Loop waiting for a connection and a valid command
 while (!stopAwait) {
  ServerSocket serverSocket = awaitSocket;
  if (serverSocket == null) {
  break;
  }


  // Wait for the next connection
  Socket socket = null;
  StringBuilder command = new StringBuilder();
  try {
  InputStream stream;
  long acceptStartTime = System.currentTimeMillis();
  try {
   socket = serverSocket.accept(); //一旦accecpt后面就開始執(zhí)行了
   socket.setSoTimeout(10 * 1000); // Ten seconds
   stream = socket.getInputStream();
  } catch (SocketTimeoutException ste) {
   // This should never happen but bug 56684 suggests that
   // it does.
   log.warn(sm.getString("standardServer.accept.timeout",
    Long.valueOf(System.currentTimeMillis() - acceptStartTime)), ste);
   continue;
  } catch (AccessControlException ace) {
   log.warn(sm.getString("standardServer.accept.security"), ace);
   continue;
  } catch (IOException e) {
   if (stopAwait) {
   // Wait was aborted with socket.close()
   break;
   }
   log.error(sm.getString("standardServer.accept.error"), e);
   break;
  }


  // Read a set of characters from the socket
  int expected = 1024; // Cut off to avoid DoS attack
  while (expected < shutdown.length()) {
   if (random == null)
   random = new Random();
   expected += (random.nextInt() % 1024);
  }
  while (expected > 0) {
   int ch = -1;
   try {
   ch = stream.read();
   } catch (IOException e) {
   log.warn(sm.getString("standardServer.accept.readError"), e);
   ch = -1;
   }
   // Control character or EOF (-1) terminates loop
   if (ch < 32 || ch == 127) {
   break;
   }
   command.append((char) ch);
   expected--;
  }
  } finally {
  // Close the socket now that we are done with it
  try {
   if (socket != null) {
   socket.close();
   }
  } catch (IOException e) {
   // Ignore
  }
  }


  // Match against our command string
  boolean match = command.toString().equals(shutdown);
  if (match) {
  log.info(sm.getString("standardServer.shutdownViaPort"));
  break;
  } else
  log.warn(sm.getString("standardServer.invalidShutdownCommand", command.toString()));
 }
 } finally {
 ServerSocket serverSocket = awaitSocket;
 awaitThread = null;
 awaitSocket = null;


 // Close the server socket and return
 if (serverSocket != null) {
  try {
  serverSocket.close();
  } catch (IOException e) {
  // Ignore
  }
 }
 }
}

tomcat容器啟動之后,下面就是Springmvc模塊的內(nèi)容了


到此這篇關(guān)于Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法的文章就介紹到這了,更多相關(guān)Idea中tocmat啟動源碼調(diào)試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:烏海 齊齊哈爾 運城 亳州 嘉興 衡陽 澳門 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法》,本文關(guān)鍵詞  Idea,中,tomcat,啟動,源碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    99久久99久久精品免费看蜜桃| 在线观看国产小视频| 在线观看日韩一区二区| 伊人影院在线视频| 精品久久久久久久| 中文字幕高清在线| yy111111少妇嫩草影院| 日本亚洲欧美天堂免费| 欧美一区二区三区在线观看视频| 国产视频视频一区| 香蕉亚洲视频| 精品欧美一区二区久久久久| 国产91白丝在线播放| 亚洲视频在线二区| 国产精品中文字幕欧美| 亚洲国产一区二区三区在线播| 干出白浆视频| 一区二区三区欧美激情| 波多野结衣在线一区| 亚洲自拍偷拍区| 一区二区三区av在线| 国产久卡久卡久卡久卡视频精品| 国产波霸爆乳一区二区| 中文字幕影音在线| 久久综合成人| 日韩精品在线免费观看| 国产成人无码av| 国产性猛交xx乱| 国产青青视频| 国产精品一区二区无线| 日韩av无码一区二区三区不卡| 激情偷乱视频一区二区三区| 中文字幕av在线播放| 天天操天天操天天操天天操天天操| 蜜桃av一区二区三区| 五月婷婷六月丁香| 第一会所sis001亚洲| 午夜成人鲁丝片午夜精品| 97久久久久久| 污视频网站在线免费观看| 国产精品99久久99久久久二8| 欧美丝袜丝交足nylons172| 山东少妇露脸刺激对白在线| 丝袜亚洲另类欧美重口| 视频一区中文字幕国产| 波多野结衣视频观看| 亚洲av无码国产精品久久| 少妇精品久久久一区二区| 手机av在线免费| 在线播放中文字幕一区| 国产区高清在线| 成人国产精品免费网站| 亚洲视频狠狠| 国产精品日韩在线播放| 污污视频在线观看网站| 91官网在线| 青青一区二区三区| 粉嫩aⅴ一区二区三区四区| 91精品国产吴梦梦| 天堂中文资源在线| 91麻豆精品国产91久久久| 岛国精品视频在线播放| 一区二区三区免费播放| 亚洲爆乳无码专区| 黄色小视频在线观看| 在线观看一区二区三区三州| 91精品久久久久久久久久久久久久| 91在线第一页| 国产免费视频一区二区三区| 成人亚洲一区二区| 久久精品国产理论片免费| 亚洲综合无码一区二区| 91亚洲精品在线| 久久99国产精品麻豆| 欧美激情第3页| av色影在线看免费| 五月天婷亚洲天综合网鲁鲁鲁| 激情成人在线观看| 精品国产一区二区三区在线| 8x8x拔插拔插影库永久免费| 97超碰免费观看| 播九公社成人综合网站| 国产中文字幕在线看| 欧美性老头oldtight| 日韩欧美中文免费| 国产v亚洲v天堂无码| 精品无码人妻一区二区三| 日日干夜夜草| 欧美日韩激情在线观看| 色一情一乱一伦一区二区三区日本| 日韩伦理精品| 欧美刺激午夜性久久久久久久| 国产一区二区三区视频在线观看| 久久天堂影院| 一区二区三区美女xx视频| 欧美艹逼视频| 少妇久久久久久被弄到高潮| 一本一本久久a久久精品牛牛影视| 国产女优一区| 亚洲精品乱码久久久久久蜜桃动漫| 日韩伦理在线一区| 午夜影院网站| 亚洲午夜激情在线| 一本大道久久加勒比香蕉| 一级视频在线播放| 国产精品午夜一区二区欲梦| 日本韩国一区二区三区视频| 国产欧美日韩91| 日本jizz中国| 在线黄色网页| 自拍偷拍激情视频| 中文字幕视频精品一区二区三区| 欧美在线视频免费播放| 美女国产精品| 亚洲天堂av一区二区三区| 日韩在线国产精品| 成熟老妇女视频| 热三久草你在线| 日本aaa在线观看| 欧美wwwww| 日韩欧美激情四射| 日韩欧美在线一区二区三区| 精品日韩欧美一区二区| 亚洲精品小视频在线观看| 热久久久久久久| 97国产精品久久| 免费成人高清在线视频| 国产视频二区| 无码h肉动漫在线观看| 欧美日韩免费观看一区| 亚洲精品亚洲人成在线| 精品视频一二三| 亚洲国产精品成人综合色在线婷婷| 精品视频一二三区| 欧美日韩女优| 99久久精品免费看国产交换| 国产乱人伦精品一区二区三区| 日韩精品美女| 免费观看黄色的网站| av影片在线一区| 亚洲av毛片在线观看| 欧美日韩亚洲综合在线| 中文亚洲视频在线| 国产又爽又黄的视频| 欧美日韩国产成人在线免费| 国产区一区二区三| 免费在线高清av| 国产一区二区三区av电影| 91禁外国网站| 欧美制服丝袜第一页| 久久久久久久久久成人| 91网站黄www| 91成人免费在线观看| 极品白浆推特女神在线观看| 欧美尤物美女在线| 国产美女自拍| 欧美va亚洲va日韩∨a综合色| 欧美一区二区三区四| 成人午夜淫片100集| sihu影院永久在线影院| 一区二区三视频| 久久久久久亚洲精品不卡| 色婷婷精品国产一区二区三区| 日本一区二区视频在线观看| 老司机精品在线| 欧美日韩在线不卡视频| 欧美另类高清videos的特点| 国产午夜福利一区二区| 久久久女女女女999久久| 国产99久久久国产精品成人免费| 日产精品一区二区| 亚洲欧洲一区| 性色av一区二区三区在线观看| 中文字幕一区二区三区免费看| 黑巨人与欧美精品一区| 青青在线免费视频| 国产成人免费高清视频| 久久精品女人天堂| 《视频一区视频二区| 男人的天堂av高清在线| 亚洲伦理久久| 国产视色精品亚洲一区二区| 亚洲男人的天堂在线aⅴ视频| 一本一道久久a久久精品| 亚洲美女av电影| 欧美午夜在线一二页| 亚洲国产日日夜夜| 日韩黄色一级视频| 亚洲成a人片综合在线| 91精品国产91久久久久游泳池| 老熟妇一区二区三区啪啪| 一本一道dvd在线观看免费视频| 国产真实乱人偷精品| 亚洲人成精品久久久久久| 欧美aa国产视频| 亚洲精品久久| 国产一区二区三区在线播放免费观看| 国产精品日韩精品欧美在线| 国产露脸国语对白在线| 成人直播视频| 国产精品毛片一区二区三区四区| 一区二区免费在线播放| 国产欧美熟妇另类久久久| 99免费在线视频| 三级全黄做爰视频| 免费看ww视频网站入口| 国产精品久久久久久久乖乖| 丝袜人妻一区二区三区| 成人免费视频77777| 超碰中文字幕在线观看| 国产男女猛烈无遮挡在线喷水| 国产亚洲污的网站| 在线观看国产精品网站| 蜜臀av免费观看| 999这里有精品| 天堂av中文在线| 国产直播在线| 久草在线资源视频在线观看| 在线观看天堂av| 美国成人xxx| 欧美福利在线| 天堂社区 天堂综合网 天堂资源最新版| 中文字幕精品影院| 久久精品在线观看视频| 欧美xxav| 久久久久久久久久久网| 九九九在线视频| 国产精品成人一区二区三区| 少妇的滋味中文字幕bd| 91福利资源站| 日韩视频亚洲视频| 国产黄色片中文字幕| 蜜桃av一区| 亚洲在线观看网站| 亚洲专区国产精品| 国内精品视频久久| 91吃瓜在线观看| 国产丝袜护土调教在线视频| 中文字幕不卡在线观看| 国产在线一区二区综合免费视频| 欧美日韩国产综合久久| 国产91久久精品一区二区| 美女xx视频| 亚洲天堂视频在线播放| 少妇bbbb搡bbbb| 久久久久久久片| 国产69精品久久99不卡| 视频一区国产| 老司机精品视频一区二区三区| 久久国产精品久久国产精品| 九九综合在线| 粗大黑人巨茎大战欧美成人| 午夜久久久久久噜噜噜噜| 亚洲在线资源| 一区二区三区四区欧美| 午夜影院免费看| 欧美少妇精品| 久久精品人人爽| 精品一区二区免费视频| 激情五月宗合网| 中文字幕在线久热精品| 欧美裸身视频免费观看| av观看成片免费网站| 欧美日韩一区二区三区69堂| 濑亚美莉大战黑人中文字幕| 亚洲三区在线观看无套内射| 欧美成人免费播放| 色婷婷精品大在线视频| 欧美18hd| 在线中文字幕电影| 黄色动漫在线观看| 精品极品在线| 国产av无码专区亚洲a∨毛片| 中国av一区二区三区| 日韩在线第七页| 色yeye香蕉凹凸一区二区av| 91午夜国产| 日本一二三四区视频| 久久久99久久精品欧美| 黄色三级电影网站| 999精品视频在线观看播放| 日本美女一区二区三区视频| 欧美91在线|欧美| 日本久久一区二区| 久99久在线视频| 日韩欧美一区在线| 粉嫩av四季av绯色av第一区| 成人激情午夜影院| 日韩精品视频免费播放| 国产精品视频在线观看| 7色.com| 后入内射无码人妻一区| 欧美色综合天天久久综合精品| 久久99深爱久久99精品| 成人午夜电影网站| 五月天激情图片| 日韩乱码人妻无码中文字幕久久| 亚洲区第一页| 成人午夜在线观看视频| 精品久久久久久久久久久久久久久久| 久久亚洲影视婷婷| 色播五月激情五月| 欧美女优在线| aa级大片免费在线观看| 欧美牲交a欧美牲交aⅴ免费真| 久久综合五月婷婷| 国产在线精品一区二区中文| 影音先锋男人资源在线| 3d动漫一区二区三区在线观看| 日本一区二区黄色| 国产又粗又爽又黄的视频| 日韩一区二区在线观看视频播放| 欧美综合激情网| 日本高清视频免费看| 亚洲黄色一区二区| 在线观看日韩精品| 成人午夜在线观看| 亚洲国产日韩欧美| 国产精品久久久久久在线观看| 国产精品一二三在| 俄罗斯av网站| 国产日韩欧美一区二区三区在线观看| 日韩精品在线免费观看| 国产91色在线|免| 日本老熟俱乐部h0930| 激情小说网站亚洲综合网| 久久久国产视频91| 日本黄色中文字幕|