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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Web App体系结构

發(fā)布時間:2023/12/3 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web App体系结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我曾經利用Servlet,JSP,JAX-RS,Spring框架,Play框架,帶有Facelets的JSF和一些Spark框架。 以我的拙見,所有這些解決方案都遠非面向對象和優(yōu)雅的。 它們都充滿了靜態(tài)方法,無法測試的數據結構和骯臟的駭客。 因此,大約一個月前,我決定創(chuàng)建自己的Java Web框架。 我將一些基本原則納入其基礎:1)沒有NULL,2)沒有公共靜態(tài)方法,3)沒有可變的類以及4)沒有類的轉換,反射和instanceof運算符。 這四個基本原則應保證干凈的代碼和透明的體系結構。 這就是Takes框架的誕生方式。 讓我們看看創(chuàng)建了什么以及它如何工作。

教父的制作(1972),弗朗西斯·福特·科波拉

簡而言之,Java Web體系結構

簡單來說,這就是我理解Web應用程序體系結構及其組件的方式。

首先,要創(chuàng)建Web服務器,我們應該創(chuàng)建一個新的網絡套接字 ,該套接字在某個TCP端口上接受連接。 通常是80,但是我將使用8080進行測試。 這是通過Java使用ServerSocket類完成的:

import java.net.ServerSocket; public class Foo {public static void main(final String... args) throws Exception {final ServerSocket server = new ServerSocket(8080);while (true);} }

這足以啟動Web服務器。 現在,套接字已準備就緒并且正在偵聽端口8080。當有人在其瀏覽器中打開http://localhost:8080時,將建立連接,瀏覽器將永遠旋轉其等待輪。 編譯此代碼段,然后嘗試。 我們只是構建了一個簡單的Web服務器,而沒有使用任何框架。 我們尚未對傳入的連接做任何事情,但是我們也不拒絕它們。 所有這些都在該server對象內對齊。 它是在后臺線程中完成的。 這就是為什么我們需要將while(true)放在后面。 沒有這種無休止的暫停,該應用程序將立即完成其執(zhí)行,并且服務器套接字將關閉。

下一步是接受傳入的連接。 在Java中,這是通過對accept()方法的阻塞調用來完成的:

final Socket socket = server.accept();

該方法正在阻塞其線程,并等待新的連接到達。 一旦發(fā)生這種情況,它將返回Socket的實例。 為了接受下一個連接,我們應該再次調用accept() 。 因此,基本上,我們的Web服務器應該像這樣工作:

public class Foo {public static void main(final String... args) throws Exception {final ServerSocket server = new ServerSocket(8080);while (true) {final Socket socket = server.accept();// 1. Read HTTP request from the socket// 2. Prepare an HTTP response// 3. Send HTTP response to the socket// 4. Close the socket}} }

這是一個無休止的循環(huán),接受一個新的連接,理解它,創(chuàng)建一個響應,返回響應,然后再次接受一個新的連接。 HTTP協議是無狀態(tài)的,這意味著服務器不應記住任何先前連接中發(fā)生的情況。 它關心的只是此特定連接中的傳入HTTP請求。

HTTP請求來自套接字的輸入流,看起來像是多行文本塊。 如果讀取套接字的輸入流,將看到以下內容:

final BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()) ); while (true) {final String line = reader.readLine();if (line.isEmpty()) {break;}System.out.println(line); }

您將看到如下內容:

GET / HTTP/1.1 Host: localhost:8080 Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8,ru;q=0.6,uk;q=0.4

客戶端(例如Google Chrome瀏覽器)將此文本傳遞到已建立的連接中。 它連接到localhost端口8080,一旦連接就緒,它將立即將文本發(fā)送到其中,然后等待響應。

我們的工作是使用在請求中獲得的信息來創(chuàng)建HTTP響應。 如果我們的服務器非常原始,那么我們基本上可以忽略請求中的所有信息,而只需返回“ Hello,world!”。 到所有請求(為簡單起見,我使用IOUtils ):

import java.net.Socket; import java.net.ServerSocket; import org.apache.commons.io.IOUtils; public class Foo {public static void main(final String... args) throws Exception {final ServerSocket server = new ServerSocket(8080);while (true) {try (final Socket socket = server.accept()) {IOUtils.copy(IOUtils.toInputStream("HTTP/1.1 200 OK\r\n\r\nHello, world!"),socket.getOutputStream());}}} }

而已。 服務器已準備就緒。 嘗試編譯并運行它。 將瀏覽器指向http:// localhost:8080 ,您將看到Hello, world! :

$ javac -cp commons-io.jar Foo.java $ java -cp commons-io.jar:. Foo & $ curl http://localhost:8080 -v * Rebuilt URL to: http://localhost:8080/ * Connected to localhost (::1) port 8080 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.37.1 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK * no chunk, no close, no size. Assume close to signal end < * Closing connection 0 Hello, world!

這就是構建Web服務器所需的全部。 現在讓我們討論如何使其面向對象和可組合。 讓我們嘗試看看Takes框架是如何構建的。

路由/調度

最重要的步驟是確定誰負責構建HTTP響應。 每個HTTP請求都具有1)查詢,2)方法和3)許多標頭。 使用這三個參數,我們需要實例化一個將為我們構建響應的對象。 在大多數Web框架中,此過程稱為請求分派或路由。 這是我們在Takes中的做法:

final Take take = takes.route(request); final Response response = take.act();

基本上有兩個步驟。 第一個是創(chuàng)建的一個實例Take從takes ,而第二個是創(chuàng)建的實例Response從take 。 為什么這樣做呢? 主要是為了分開職責。 實例Takes負責調度請求和實例右Take ,和實例Take負責創(chuàng)建響應。

要在Takes中創(chuàng)建一個簡單的應用程序,您應該創(chuàng)建兩個類。 首先,執(zhí)行Takes :

import org.takes.Request; import org.takes.Take; import org.takes.Takes; public final class TsFoo implements Takes {@Overridepublic Take route(final Request request) {return new TkFoo();} }

我們分別為Takes和Take使用這些Ts和Tk前綴。 您應該創(chuàng)建的第二個類是Take的實現:

import org.takes.Take; import org.takes.Response; import org.takes.rs.RsText; public final class TkFoo implements Take {@Overridepublic Response act() {return new RsText("Hello, world!");} }

現在是時候啟動服務器了:

import org.takes.http.Exit; import org.takes.http.FtBasic; public class Foo {public static void main(final String... args) throws Exception {new FtBasic(new TsFoo(), 8080).start(Exit.NEVER);} }

該FtBasic類執(zhí)行與上述完全相同的套接字操作。 它在端口8080上啟動服務器套接字,并通過我們提供給其構造函數的TsFoo實例調度所有傳入的連接。 它以無休止的周期進行此分派,每秒檢查一次是否應該使用Exit實例停止。 顯然, Exit.NEVER始終不會回答“請別停下來”。

HTTP請求

現在,讓我們看看到達TsFoo的HTTP請求中TsFoo什么以及我們可以從中獲得什么。 這是在Takes中定義Request接口的方式:

public interface Request {Iterable<String> head() throws IOException;InputStream body() throws IOException; }

該請求分為兩部分:頭部和身體。 根據RFC 2616中的 HTTP規(guī)范,頭部包含開始于正文的空行之前的所有行。 框架中有許多有用的裝飾器用于Request 。 例如, RqMethod將幫助您從標題的第一行獲取方法名稱:

final String method = new RqMethod(request).method();

RqHref將幫助提取查詢部分并進行解析。 例如,這是請求:

GET /user?id=123 HTTP/1.1 Host: www.example.com

此代碼將提取123 :

final int id = Integer.parseInt(new RqHref(request).href().param("id").get(0) );

RqPrint可以將整個請求或其主體打印為String :

final String body = new RqPrint(request).printBody();

這里的想法是使Request接口保持簡單,并向其裝飾器提供此請求解析功能。 這種方法有助于框架使類保持較小且具有凝聚力。 每個裝飾器都非常小巧,堅固,只能做一件事。 所有這些裝飾器都在org.takes.rq包中。 您可能已經知道, Rq前綴代表Request 。

第一個Real Web App

讓我們創(chuàng)建第一個真正的Web應用程序,它將做一些有用的事情。 我建議從Entry類開始,這是Java從命令行啟動應用程序所必需的:

import org.takes.http.Exit; import org.takes.http.FtCLI; public final class Entry {public static void main(final String... args) throws Exception {new FtCLI(new TsApp(), args).start(Exit.NEVER);} }

此類僅包含一個main()靜態(tài)方法,當應用程序從命令行啟動時,JVM將調用該方法。 如您所見,它實例化FtCLI ,為它提供類TsApp和命令行參數的實例。 我們稍后將創(chuàng)建TsApp類。 FtCLI (轉換為“帶有命令行界面的前端”)創(chuàng)建相同FtBasic的實例,將其包裝到一些有用的修飾符中,并根據命令行參數進行配置。 例如,-- --port=8080將轉換為8080端口號,并作為FtBasic構造函數的第二個參數傳遞。

該Web應用程序本身稱為TsApp并擴展了TsWrap :

import org.takes.Take; import org.takes.Takes; import org.takes.facets.fork.FkRegex; import org.takes.facets.fork.TsFork; import org.takes.ts.TsWrap; import org.takes.ts.TsClasspath; final class TsApp extends TsWrap {TsApp() {super(TsApp.make());}private static Takes make() {return new TsFork(new FkRegex("/robots.txt", ""),new FkRegex("/css/.*", new TsClasspath()),new FkRegex("/", new TkIndex()));} }

我們將在稍后討論此TsFork課程。

如果您使用的是Maven,則應以pom.xml開頭:

<?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>foo</groupId><artifactId>foo</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.takes</groupId><artifactId>takes</artifactId><version>0.9</version> <!-- check the latest in Maven Central --></dependency></dependencies><build><finalName>foo</finalName><plugins><plugin><artifactId>maven-dependency-plugin</artifactId><executions><execution><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/deps</outputDirectory></configuration></execution></executions></plugin></plugins></build> </project>

運行mvn clean package應該在target目錄中構建foo.jar文件,并在target/deps構建所有JAR依賴項的集合。 現在,您可以從命令行運行該應用程序:

$ mvn clean package $ java -Dfile.encoding=UTF-8 -cp ./target/foo.jar:./target/deps/* foo.Entry --port=8080

該應用程序已準備就緒,您可以將其部署到Heroku。 只需在存儲庫的根目錄中創(chuàng)建一個Procfile文件,然后將存儲庫推送到Heroku。 這是Procfile樣子:

web: java -Dfile.encoding=UTF-8 -cp target/foo.jar:target/deps/* foo.Entry --port=${PORT}

叉車

這個TsFork類似乎是框架的核心元素之一。 它有助于路線傳入的HTTP請求到右收 。 它的邏輯非常簡單,并且里面只有幾行代碼。 它封裝了“ forks”的集合,它們是Fork<Take>接口的實例:

public interface Fork<T> {Iterator<T> route(Request req) throws IOException; }

它唯一的route()方法要么返回一個空的迭代器,要么返回一個帶有單個Take的迭代器。 TsFork遍歷所有fork,調用它們的route()方法,直到其中一個返回take 。 一旦出現這種情況, TsFork返回此取給調用者,這是FtBasic 。

現在讓我們自己創(chuàng)建一個簡單的fork。 例如,當請求/status URL時,我們想顯示應用程序的/status 。 這是代碼:

final class TsApp extends TsWrap {private static Takes make() {return new TsFork(new Fork.AtTake() {@Overridepublic Iterator<Take> route(Request req) {final Collection<Take> takes = new ArrayList<>(1);if (new RqHref(req).href().path().equals("/status")) {takes.add(new TkStatus());}return takes.iterator();}});} }

我相信這里的邏輯很明確。 我們要么返回一個空的迭代器,要么返回一個內部帶有TkStatus實例的迭代器。 如果返回一個空的迭代器,則TsFork將嘗試在集合中找到另一個實際上獲取Take實例的fork,以產生Response 。 順便說一句,如果未找到任何內容,并且所有派生都返回空的迭代器,則TsFork將引發(fā)“找不到頁面”異常。

這種精確的邏輯由一個名為FkRegex即用即用的叉子FkRegex ,它嘗試將請求URI路徑與提供的正則表達式進行匹配:

final class TsApp extends TsWrap {private static Takes make() {return new TsFork(new FkRegex("/status", new TkStatus()));} }

我們可以組成TsFork類的多層結構。 例如:

final class TsApp extends TsWrap {private static Takes make() {return new TsFork(new FkRegex("/status",new TsFork(new FkParams("f", "json", new TkStatusJSON()),new FkParams("f", "xml", new TkStatusXML()))));} }

同樣,我認為這很明顯。 實例FkRegex會問的一個封裝實例TsFork返回一個take,它會嘗試從一個獲取它FkParams封裝。 如果HTTP查詢?yōu)?status?f=xml ,則將返回TkStatusXML的實例。

HTTP響應

現在讓我們討論HTTP響應的結構及其面向對象的抽象Response 。 界面外觀如下:

public interface Response {Iterable<String> head() throws IOException;InputStream body() throws IOException; }

看起來非常類似于Request ,不是嗎? 好吧,它是相同的,主要是因為HTTP請求和響應的結構幾乎相同。 唯一的區(qū)別是第一行。

有很多有用的裝飾器,可以幫助您建立響應。 它們是可組合的 ,這使它們非常方便。 例如,如果要構建一個包含HTML頁面的響應,則可以這樣編寫它們:

final class TkIndex implements Take {@Overridepublic Response act() {return new RsWithStatus(new RsWithType(new RsWithBody("<html>Hello, world!</html>"),"text/html"),200);} }

在此示例中,裝飾器RsWithBody創(chuàng)建一個帶有主體但根本沒有標題的響應。 然后, RsWithType添加標題Content-Type: text/html 。 然后, RsWithStatus確保響應的第一行包含HTTP/1.1 200 OK 。

您可以創(chuàng)建自己的裝飾器,以重用現有的裝飾器。 看看RsPage在RsPage是如何完成的。

模板如何?

如我們所見,返回簡單的“ Hello,world”頁面不是什么大問題。 但是,諸如HTML頁面,XML文檔,JSON數據集等更復雜的輸出呢? 有一些方便的Response裝飾器可以實現所有功能。 讓我們從簡單的模板引擎Velocity開始。 好吧,這不是那么簡單。 它相當強大,但是我建議僅在簡單情況下使用它。 下面是它的工作原理:

final class TkIndex implements Take {@Overridepublic Response act() {return new RsVelocity("Hello, ${name}").with("name", "Jeffrey");} }

RsVelocity構造函數接受必須為Velocity模板的單個參數。 然后,調用with()方法,將數據注入Velocity上下文中。 當需要呈現HTTP響應時, RsVelocity將根據配置的上下文“評估”模板。 同樣,我建議您僅對簡單輸出使用此模板方法。

對于更復雜HTML文檔,我建議您將XML / XSLT與Xembly結合使用。 我在之前的幾篇文章中對此想法進行了解釋: 瀏覽器和RESTful API 中的XML + XSLT,以及同一URL中的網站 。 它簡單而強大-Java生成XML輸出,而XSLT處理器將其轉換為HTML文檔。 這就是我們將表示形式與數據分開的方式。 就MVC而言,XSL樣式表是“視圖”, TkIndex是“控制器”。

我將很快寫另一篇關于Xembly和XSL模板的文章。

同時,我們將在Takes中為JSF / Facelets和JSP渲染創(chuàng)建裝飾器。 如果您有興趣提供幫助,請分叉框架并提交請求。

持久性呢?

現在,出現的一個問題是如何處理持久性實體,例如數據庫,內存結構,網絡連接等。我的建議是在Entry類內部對其進行初始化,并將其作為參數傳遞給TsApp構造函數。 然后, TsApp將它們傳遞到構造函數的定制需要 。

例如,我們有一個PostgreSQL數據庫,其中包含一些需要渲染的表數據。 這是在Entry類中初始化與它的連接的方式(我使用的是BoneCP連接池):

public final class Entry {public static void main(final String... args) throws Exception {new FtCLI(new TsApp(Entry.postgres()), args).start(Exit.NEVER);}private static Source postgres() {final BoneCPDataSource src = new BoneCPDataSource();src.setDriverClass("org.postgresql.Driver");src.setJdbcUrl("jdbc:postgresql://localhost/db");src.setUser("root");src.setPassword("super-secret-password");return src;} }

現在, TsApp的構造TsApp必須接受類型為java.sql.Source的單個參數:

final class TsApp extends TsWrap {TsApp(final Source source) {super(TsApp.make(source));}private static Takes make(final Source source) {return new TsFork(new FkRegex("/", new TkIndex(source)));} }

TkIndex類還接受Source類的單個參數。 我相信您知道如何在TkIndex中使用它來獲取SQL表數據并將其轉換為HTML。 這里的要點是,在實例化依賴項時,必須將其注入到應用程序中(類TsApp的實例)。 這是一種純凈的依賴注入機制,它絕對沒有容器。 在“依賴注入容器是代碼污染者”中閱讀有關它的更多信息。

單元測試

由于每個類都是不可變的,并且所有依賴項僅通過構造函數注入,因此單元測試非常容易。 假設我們要測試TkStatus ,它應該返回HTML響應(我正在使用JUnit 4和Hamcrest ):

import org.junit.Test; import org.hamcrest.MatcherAssert; import org.hamcrest.Matchers; public final class TkIndexTest {@Testpublic void returnsHtmlPage() throws Exception {MatcherAssert.assertThat(new RsPrint(new TkStatus().act()).printBody(),Matchers.equalsTo("<html>Hello, world!</html>"));} }

此外,我們可以開始在測試HTTP服務器的整個應用程序或任何個人起飛 ,并通過一個真實的TCP套接字測試它的行為; 例如(我正在使用jcabi-http發(fā)出HTTP請求并檢查輸出):

public final class TkIndexTest {@Testpublic void returnsHtmlPage() throws Exception {new FtRemote(new TsFixed(new TkIndex())).exec(new FtRemote.Script() {@Overridepublic void exec(final URI home) throws IOException {new JdkRequest(home).fetch().as(RestResponse.class).assertStatus(HttpURLConnection.HTTP_OK).assertBody(Matchers.containsString("Hello, world!"));}});} }

FtRemote在隨機的TCP端口啟動測試Web服務器,并在提供的FtRemote.Script實例上調用exec()方法。 此方法的第一個參數是剛啟動的Web服務器主頁的URI。

Takes框架的體系結構非常模塊化且可組合。 任何個體取可以進行測試作為一個獨立的部件,絕對獨立于框架和其他需要 。

為什么叫名字?

這就是我經常聽到的問題。 這個想法很簡單,它起源于電影業(yè)。 當影片制成,劇組芽許多需要以捕捉現實,把它放在電影。 每次捕獲稱為一次獲取 。

換句話說, 拍攝就像現實的快照。

同樣適用于此框架。 Take每個實例在某個特定時刻代表一個現實。 然后,將該現實以Response的形式發(fā)送給用戶。

翻譯自: https://www.javacodegeeks.com/2015/04/java-web-app-architecture-in-takes-framework.html

總結

以上是生活随笔為你收集整理的Java Web App体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。

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

美腿丝袜一区二区三区 | 国产福利一区二区三区视频 | 日韩一级黄色片 | 性色av免费看 | 五月婷婷六月丁香在线观看 | 亚洲人成在线观看 | 中文字幕超清在线免费 | 最新中文在线视频 | 香蕉视频在线观看免费 | 91禁在线看| 欧美精品免费视频 | 久久国产区 | 日韩网站在线 | 狠狠干狠狠艹 | 在线黄色免费av | 亚洲激情综合 | 99精品视频在线看 | 免费av试看 | 制服丝袜在线 | 丁香综合激情 | 日韩视频三区 | 在线观看va| a色视频| 久久国产精彩视频 | 中文字幕五区 | 成人va天堂 | 6080yy午夜一二三区久久 | av线上看 | 免费观看9x视频网站在线观看 | 亚洲免费资源 | 日韩特级毛片 | 伊人网站 | 亚洲精品国偷拍自产在线观看 | 人人看黄色 | 国产精品a成v人在线播放 | 国产丝袜美腿在线 | 91激情视频在线播放 | 亚洲精品女 | 97视频在线免费播放 | 久久综合色天天久久综合图片 | 日韩精品久久久久久久电影99爱 | 国产黄色一级大片 | 国产在线播放一区二区三区 | 丁香视频免费观看 | 天天曰天天射 | 日韩欧美一区二区三区免费观看 | 三上悠亚一区二区在线观看 | 免费在线激情电影 | 色视频网站免费观看 | 久久国产精品网站 | 国产精品久久久免费 | 超碰在线最新地址 | 国产手机在线观看 | 国内精品免费 | 久热av | 日韩网站在线播放 | 欧美黄污视频 | 天天激情在线 | 在线观看久久 | 亚洲天堂网在线视频观看 | 中文字幕在线第一页 | 国产成人av一区二区三区在线观看 | 青青啪 | 亚洲精品在线视频播放 | 国产中文字幕一区二区 | 毛片网在线观看 | 色综合天天综合在线视频 | 日韩视频免费 | 又黄又刺激又爽的视频 | 天天色欧美 | 中文字幕 国产视频 | 在线观看亚洲成人 | 国外成人在线视频网站 | 国产成人精品久久久久蜜臀 | 69久久99精品久久久久婷婷 | 黄色一级大片免费看 | 五月婷婷开心 | 免费在线黄色av | 欧美成人黄 | av综合网址 | av福利在线 | 激情久久五月天 | 国产免费作爱视频 | 91豆麻精品91久久久久久 | 国产日韩亚洲 | 国产精品va在线 | 日韩激情在线视频 | 伊人开心激情 | 欧美性做爰猛烈叫床潮 | 色99导航 | 激情视频在线观看网址 | 成人小视频在线观看免费 | 99精品久久精品一区二区 | 天天射天天干天天插 | 九九热在线视频 | 麻豆91精品视频 | 国产精品毛片久久 | 一区在线观看 | 最新精品视频在线 | 又黄又爽的免费高潮视频 | 色综合久久88色综合天天免费 | 久久国产精品99久久久久久老狼 | 天天天天天天天操 | 国产精品av免费观看 | 97视频在线看 | 国产精品一区二区62 | 久久国产精品小视频 | 久久黄色免费视频 | www.伊人色.com | 天天干天天在线 | 国产精品永久免费观看 | 国产在线资源 | 91在线看视频 | www色网站 | 深夜免费福利 | 成人黄色免费在线观看 | 国产精品亚 | 国产精品自产拍在线观看中文 | 国产亚洲高清视频 | 天堂在线一区二区三区 | 欧美性视频网站 | 欧洲一区二区在线观看 | 国产原创中文在线 | 成人av一二三区 | 国产91影院 | 亚洲精品在线一区二区 | 精品久久久久一区二区国产 | 天天综合区 | 欧美精品一区二区三区一线天视频 | 久久人人爽爽人人爽人人片av | 欧美日韩免费观看一区=区三区 | 97福利在线观看 | 国产精品去看片 | 一区二区三区动漫 | 黄色视屏av | 日韩三级免费观看 | 色91在线 | 亚洲精色 | 国产亚洲免费的视频看 | 中文字幕一区二区三区在线观看 | 婷婷视频在线观看 | 天天操天天吃 | 国产免费专区 | 欧美日韩精品综合 | 久久国产片 | 99亚洲视频 | 亚洲一区免费在线 | 国产精品久久久久久久久久东京 | 在线激情av电影 | 色夜影院| 精品国产精品国产偷麻豆 | 日韩久久久久久 | 在线观看免费av网站 | 天天干 夜夜操 | 成人a级大片| 免费视频二区 | 婷婷去俺也去六月色 | 国产在线观看黄 | 亚洲精品 在线视频 | 色九九在线 | 久久手机精品视频 | 亚洲三级精品 | 国产精品久久久久久久久久久免费看 | 天天射天天舔天天干 | 玖玖综合网| 欧美一级日韩免费不卡 | 久久免费高清视频 | 91成人精品一区在线播放69 | 99国产在线观看 | 丁香久久婷婷 | 国产福利一区二区三区视频 | 99国产免费网址 | 9999在线观看 | 国产毛片久久久 | 欧美男女爱爱视频 | 手机av资源 | 啪啪资源 | 午夜精品视频免费在线观看 | 亚洲精品黄色在线观看 | www国产一区| 久久亚洲视频 | 欧美91精品国产自产 | 九九免费在线观看视频 | 日韩久久久久久久久久 | 日韩欧美在线不卡 | 最近中文字幕mv免费高清在线 | 中文字幕刺激在线 | 久草视频在线新免费 | 91亚洲综合 | 91精品人成在线观看 | 免费看的av片 | 天天操天天舔天天干 | 免费三级黄| 免费在线黄| 色国产精品 | 久久系列 | 久久免费精品国产 | 99久久精品久久久久久清纯 | 一区二区三区国产精品 | 婷婷成人亚洲综合国产xv88 | 日本精品视频在线观看 | 国产一区二区不卡视频 | av网站手机在线观看 | 精品一区精品二区 | 黄色网址在线播放 | 国产人成在线观看 | 久久综合福利 | 视频在线观看一区 | 人人超在线公开视频 | 久久免费视频在线观看 | 色视频 在线 | 西西人体4444www高清视频 | 在线日韩中文 | 国产精品一区二区三区在线免费观看 | 亚洲综合欧美精品电影 | 中文字幕成人av | 色在线网 | 国产一区视频免费在线观看 | 国产精品久久久精品 | 免费欧美精品 | 国产精品毛片一区二区三区 | 中文字幕av在线免费 | 97夜夜澡人人爽人人免费 | 中文字幕在线观看你懂的 | 精品免费国产一区二区三区四区 | 91精品国产高清自在线观看 | 一区视频在线 | 亚洲精品在线视频 | 午夜123| www.成人sex | 在线电影av | 日本三级全黄少妇三2023 | ,午夜性刺激免费看视频 | 国产精品久久综合 | 成人小视频在线观看免费 | 91成人短视频在线观看 | 日韩一区二区免费在线观看 | 免费福利在线视频 | 久久视频网 | 一区二区三区四区免费视频 | 精品亚洲va在线va天堂资源站 | 91精品天码美女少妇 | 精品美女久久久久久免费 | 天天操天天干天天爽 | 99免费观看视频 | 玖玖999| 中文字幕免费高 | 国产黄在线免费观看 | 少妇自拍av | 免费亚洲精品 | 亚洲干视频在线观看 | 天天摸日日摸人人看 | 国产在线精品一区二区 | 欧美精品久久久久久久久久久 | 国产中文字幕视频 | 激情av网| 麻豆传媒视频在线 | 午夜少妇av | 国产黄视频在线观看 | 午夜电影一区 | 亚洲视频免费在线观看 | 夜夜躁日日躁狠狠躁 | 成人va天堂 | 一级欧美日韩 | 91亚色视频在线观看 | 欧美日本不卡高清 | 奇米导航 | 九九热免费在线视频 | av在线免费观看网站 | 在线播放国产一区二区三区 | 在线国产福利 | 美女中文字幕 | 日韩综合第一页 | 日韩18p| 九九欧美 | 91在线视频 | 久久99国产精品 | 日韩av成人 | 色噜噜噜噜 | 欧美日韩视频在线一区 | 91成版人在线观看入口 | 日韩免费三区 | 久久久久久久久影院 | 精品国产一区二区三区在线观看 | 国产 一区二区三区 在线 | 在线精品国产 | 夜夜骑首页 | 人人要人人澡人人爽人人dvd | 国产精品成人一区二区 | 日日干天天干 | 国产成人三级在线播放 | 日韩久久激情 | 日韩mv欧美mv国产精品 | 高潮久久久久久久久 | 99久久精品国 | 国产特级毛片aaaaaaa高清 | 日韩大片在线免费观看 | 综合久久五月天 | 成人黄色av网站 | 四虎永久精品在线 | 日韩欧美精品一区二区三区经典 | 国产福利91精品张津瑜 | 精品久久久久久久久中文字幕 | 91九色视频在线观看 | 在线亚洲小视频 | 免费国产视频 | 久一网站 | 五月开心六月伊人色婷婷 | 亚洲激情综合 | 国产丝袜网站 | 国产亚洲综合精品 | 免费av网址大全 | 97精品超碰一区二区三区 | 在线观看91视频 | 欧美精品在线观看免费 | 色在线免费视频 | 蜜桃传媒一区二区 | 日本中文字幕电影在线免费观看 | 婷婷激情小说网 | 最近中文字幕视频完整版 | 久久人人爽人人爽人人片av软件 | 国产精品欧美久久久久无广告 | 国产小视频在线 | 欧美精品久久久久 | 天天天综合 | 亚洲国产高清在线观看视频 | 五月婷婷一区 | av电影在线观看 | 亚洲精品456在线播放乱码 | 亚洲日本三级 | 日韩欧美xxx | 国产成人精品综合久久久 | 九九久久电影 | 国产美女被啪进深处喷白浆视频 | 国产中文伊人 | 青草视频在线 | 午夜 免费 | 伊人六月 | 日韩精品不卡 | 久草在线视频看看 | 亚洲精品国产精品国自产观看浪潮 | 99在线观看 | 日韩免费成人 | 日日爱网址 | 激情婷婷色 | 亚洲国产精品传媒在线观看 | 日韩在线播放欧美字幕 | 4438全国亚洲精品观看视频 | 色中色综合 | h视频日本 | 国产破处在线播放 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 日韩av高清| 黄网站色 | 欧美视频日韩 | 精品国产免费一区二区三区五区 | 性日韩欧美在线视频 | a√天堂中文在线 | 免费黄色av电影 | 欧美精品xxx | 久久艹国产 | 欧美日韩性视频 | 在线va网站 | 在线va网站| 在线成人一区二区 | 久久精品99国产 | 日韩av成人在线 | 亚洲视频在线观看网站 | 91人人澡人人爽人人精品 | 久久免费在线观看 | av品善网 | 亚洲影视九九影院在线观看 | 开心激情综合网 | 在线国产精品视频 | 免费看黄色小说的网站 | 欧美性脚交 | 午夜视频免费在线观看 | 天天爽夜夜爽精品视频婷婷 | 狠狠操狠狠干天天操 | 亚洲精品在线观看的 | 亚洲视频免费在线看 | 国内精品久久久久影院日本资源 | 日日精品 | av在线免费不卡 | 丁香激情婷婷 | 国产精品观看在线亚洲人成网 | 国产亚州精品视频 | 精品久久久久免费极品大片 | 九九综合九九综合 | 天天鲁一鲁摸一摸爽一爽 | 日韩在线三级 | 五月天,com| 伊人热| 四虎影视8848aamm | 五月在线 | 五月婷色| 在线有码中文字幕 | 97视频免费观看2区 亚洲视屏 | 日韩精品中文字幕在线 | 一区二区不卡在线观看 | 日日碰狠狠添天天爽超碰97久久 | 美女很黄免费网站 | 国产色中涩| 91久久国产综合精品女同国语 | 伊人久久电影网 | 日日干综合 | 亚洲精品视频在线观看免费视频 | 国产精品成久久久久 | 色婷婷色| 高清精品在线 | 伊人伊成久久人综合网站 | 久久久久久久久久久综合 | 免费看的黄色片 | 欧美日比视频 | 午夜视频免费在线观看 | 国产精品久久久久av福利动漫 | 精品国产乱子伦一区二区 | 日韩av资源在线观看 | 麻豆视频在线播放 | 片网站| 欧美日韩伦理在线 | 在线观看成人网 | 婷婷去俺也去六月色 | 日p在线观看 | 精品日韩在线一区 | 日韩毛片久久久 | 久久久久精 | 国内精品久久久久久久久久清纯 | 欧美精品久久久久a | 激情图片区 | 香蕉在线播放 | 天天干天天射天天操 | 欧美精品v国产精品v日韩精品 | 色五月色开心色婷婷色丁香 | 免费看av在线| 久草在线91 | 久草观看 | 亚洲精品成人网 | 91香蕉视频在线下载 | 91精品欧美一区二区三区 | 日韩在线观看你懂的 | 中文字幕精品一区久久久久 | 成人午夜片av在线看 | 韩国一区二区三区视频 | 国产色视频网站2 | 色999五月色 | 久久网站免费 | 国产精品大片免费观看 | 四虎影视成人永久免费观看亚洲欧美 | 欧美做受高潮电影o | 欧美精品久久久久久久免费 | 国产专区在线 | 国产精品 日韩精品 | 国产精品视频久久 | 国产经典av | av免费网| 久久久久久久久久久久影院 | 欧美一区二区在线免费观看 | 日日干网| 97成人在线免费视频 | 成人在线播放免费观看 | 国产国产人免费人成免费视频 | 久久综合九色综合欧美就去吻 | 97av视频在线观看 | 婷婷丁香激情五月 | 久久久久国产成人精品亚洲午夜 | 久久成人午夜视频 | 成人在线观看影院 | 中文字幕亚洲欧美 | 在线观看国产区 | 国产一级片在线播放 | 91麻豆精品91久久久久同性 | 国产中文字幕在线看 | 天天爱综合 | 三级黄在线| 国产视频精品免费 | 一区二区三区日韩精品 | 午夜av免费观看 | av日韩不卡 | 91香蕉视频在线 | 九九九热精品免费视频观看网站 | 96视频在线| 狠狠色婷婷丁香六月 | 偷拍福利视频一区二区三区 | 成人久久久久 | 成人黄大片 | 日韩 在线 | 婷婷色网视频在线播放 | 天天激情 | 天天操比| 中文字幕在线免费观看视频 | 国产精品国产三级国产aⅴ无密码 | 久久久高清 | 黄色三级免费看 | 午夜精品久久久 | 国产精品永久在线 | 91超级碰碰 | 久久99久久精品国产 | 国内精品二区 | 精品久久久久久久久久久院品网 | 黄色福利网站 | 在线99热 | 欧美小视频在线 | av在线超碰| 在线免费黄 | 日本精品一| 欧美国产一区在线 | 中文字幕乱在线伦视频中文字幕乱码在线 | 九月婷婷色 | 麻豆视频在线看 | 五月天国产 | 欧美成年黄网站色视频 | 成人cosplay福利网站 | av在线影片 | 国产一区二区精品久久 | 中文字幕精品一区久久久久 | 人人看人人草 | 国产一区欧美日韩 | 亚洲视频每日更新 | 在线视频欧美日韩 | 激情网站| 一区二区三区四区五区在线视频 | www.超碰 | 91精品国产一区二区在线观看 | 99久久久国产精品免费观看 | 色激情五月 | 国产精品一区二区中文字幕 | 天天性天天草 | 岛国片在线 | 91九色免费视频 | 欧美日韩免费观看一区二区三区 | 日韩视频免费在线 | 日韩在线观看视频在线 | av黄色成人 | wwwwwww黄 | 99精品欧美一区二区三区黑人哦 | 日本精品视频在线观看 | 亚洲免费不卡 | 在线播放一区 | 精品福利av | 性色av香蕉一区二区 | 欧美一级片免费播放 | 久久这里只有精品首页 | 91在线日本 | 日韩精品久久久久久久电影99爱 | 国产精品入口久久 | 国产麻豆精品免费视频 | 午夜av在线电影 | 国产精品日韩在线观看 | 精品国产乱码久久久久久天美 | 永久免费的av电影 | 亚洲狠狠操 | 五月婷综合| 亚洲尺码电影av久久 | 草久在线观看视频 | 日日夜夜免费精品 | av成年人电影 | 一区二区三区四区在线免费观看 | 正在播放国产一区 | 国产精品欧美日韩在线观看 | 深爱激情开心 | aa一级片| 国产精品一区二区av影院萌芽 | 91精品国自产在线观看 | 久久国产精品一二三区 | 免费三级黄 | 91亚洲精品久久久中文字幕 | 蜜臀精品久久久久久蜜臀 | 色综合久久久久综合体桃花网 | 中文字幕国内精品 | 日韩在线观看视频一区二区三区 | 国产一区91 | 在线观看岛国片 | 久久久久亚洲最大xxxx | 成人av影视观看 | 久久午夜精品视频 | 国产精品视频专区 | 国产亚洲精品久久久久久电影 | 久久久久国产精品午夜一区 | 久久综合五月 | 久久久一本精品99久久精品 | 91热爆视频| 三级av小说| 国产精品国产三级在线专区 | 国产在线观看91 | 国产成人一级 | 亚洲天堂自拍视频 | 成人免费亚洲 | 99人成在线观看视频 | 91在线公开视频 | 天天射天天爽 | 超碰在线成人 | 99久久精品免费看国产四区 | 91视频在线免费下载 | 99电影456麻豆 | 午夜精品一区二区三区四区 | 91久久国产综合精品女同国语 | 综合久久五月天 | 天天操天天综合网 | 欧美综合在线视频 | 成人免费视频视频在线观看 免费 | 免费亚洲片 | 久久久五月婷婷 | 国产精品久久一区二区三区不卡 | 午夜视频播放 | 日韩欧美视频在线播放 | 精品久久久国产 | 欧美最猛性xxxxx(亚洲精品) | 日韩三区在线观看 | 久久久国产精品一区二区三区 | 麻豆视频免费入口 | 欧美在线观看小视频 | 国产精品av电影 | 深夜福利视频在线观看 | 在线小视频你懂的 | 色吊丝在线永久观看最新版本 | 99热这里是精品 | 日韩精品视频免费在线观看 | 91av视频网 | 午夜在线看片 | 人成电影网 | 日韩av网址在线 | 成人在线视频论坛 | 亚洲国产精品一区二区久久hs | 国产一区福利 | 久久成人国产精品 | 五月婷婷丁香 | 日韩美女免费线视频 | 99精品久久只有精品 | 国产91精品久久久久久 | 色综合天天色综合 | 91视频a | 成人黄色资源 | 欧美激情va永久在线播放 | 亚洲成人黄色av | 色精品视频 | 日韩欧美99 | 国产色a在线观看 | 欧美了一区在线观看 | 91免费版成人 | 亚洲精品国 | 免费在线播放av电影 | 91免费版成人 | 91视频在线观看免费 | 九九国产视频 | 欧美日韩国产页 | 亚洲精品系列 | 有码一区二区三区 | 日韩精品91偷拍在线观看 | 国产中文a| 国产在线视频不卡 | 国产精品久久久久久久毛片 | 国产一区久久久 | 免费色黄 | 亚洲va欧美va人人爽 | 午夜久久福利影院 | 成人一级在线观看 | 最近能播放的中文字幕 | 色www. | 久久久久在线 | 天天躁日日躁狠狠躁 | 六月激情久久 | 黄色大片国产 | 97在线精品视频 | 中日韩三级视频 | 91福利免费| 2019天天干天天色 | 日韩a级免费视频 | 日本黄色免费在线 | 亚洲国产精品成人av | 9999国产| 久久一区二区免费视频 | 狠狠色综合网站久久久久久久 | 日韩精品一区二区三区在线播放 | 91福利社在线观看 | 国产日韩中文字幕 | 日韩在线高清免费视频 | 国产精品入口a级 | 免费日韩电影 | 国产精品美女久久久久久久网站 | www.人人干 | 日日爽| 国产欧美日韩精品一区二区免费 | 国产高清在线精品 | 国产亚洲一区 | 国产成人a v电影 | 久久久精品欧美一区二区免费 | 日韩大片免费在线观看 | 欧美亚洲久久 | 天天操天天干天天干 | 2024国产精品视频 | 国产精品xxxx18a99 | 免费视频资源 | 国产精品二区在线 | 日韩在线观看av | 黄色小网站免费看 | 日本三级中文字幕在线观看 | 久久久久久国产一区二区三区 | 亚洲人毛片 | www黄com| 久草网视频在线观看 | 久久精品这里热有精品 | 97国产大学生情侣酒店的特点 | 1000部18岁以下禁看视频 | 国产亚洲精品日韩在线tv黄 | 国产日韩欧美在线影视 | 在线视频 影院 | 婷色在线 | 中文字幕第| 人人干人人爽 | 久久都是精品 | 狠狠色丁香婷婷综合最新地址 | 午夜色站| 国产亚洲片 | 天天av天天 | 国产精品淫 | 久草在线视频首页 | 在线中文视频 | 日韩免费看视频 | 黄色在线观看网站 | 808电影免费观看三年 | 亚洲永久国产精品 | 亚洲综合色网站 | 国产综合精品一区二区三区 | 日韩电影在线一区 | 91干干干| 国产精品av免费观看 | 日韩试看 | 日日夜夜亚洲 | 中文国产字幕在线观看 | 在线中文字幕网站 | 久久综合久久鬼 | 国产视频在线观看一区 | 蜜桃视频色 | 亚洲精品午夜一区人人爽 | 亚洲黄色高清 | 99视频精品全国免费 | 精品在线播放视频 | 国产白浆视频 | 中文字幕乱码电影 | 亚洲欧美激情插 | 久久久九九 | 狠狠干成人 | 中文字幕中文字幕中文字幕 | 最近更新中文字幕 | 久久综合久久综合这里只有精品 | 天天色天天爱天天射综合 | 国产美女被啪进深处喷白浆视频 | 国产精品激情在线观看 | 亚洲精品国产精品久久99 | 日韩免费福利 | 亚洲国产一区在线观看 | 欧美日韩一区二区在线观看 | 色中色亚洲| 成人h在线播放 | 性色av一区二区三区在线观看 | 国产亚洲91 | 久久精品国产免费看久久精品 | av免费在线观 | 久草综合在线观看 | 亚洲 中文字幕av | 亚洲日本韩国一区二区 | 久久99网 | 91网页版在线观看 | 日韩高清二区 | av中文字幕电影 | 日韩理论在线视频 | 麻豆视频在线免费 | 7777xxxx| 免费视频色 | 97超碰福利久久精品 | 亚洲黄色片在线 | 亚洲精品99| 亚洲精品www久久久 www国产精品com | 欧美视频xxx | 精品99免费 | 免费看国产一级片 | 国产日韩欧美精品在线观看 | 日韩精品无码一区二区三区 | 在线观看免费 | 西西www4444大胆视频 | 精品在线一区二区 | 久久久久久久99精品免费观看 | 欧美a级片网站 | 久久国产精品影视 | 久久天 | 97精品国自产拍在线观看 | 特及黄色片| 亚洲理论视频 | 日韩久久视频 | 国产一级三级 | 中文在线a天堂 | 日韩美女高潮 | 黄色国产精品 | 免费久久精品视频 | 黄色av观看 | 精品婷婷 | 国产精品欧美日韩 | 在线看日韩av | 四虎永久视频 | 久久国产电影院 | 婷婷丁香综合 | 中文字幕免费观看视频 | 国产精品亚洲精品 | 日本精品va在线观看 | 国产精品免费看久久久8精臀av | www.狠狠操.com| 日韩影视精品 | 婷婷在线视频观看 | 久草在线资源视频 | 久一在线 | www色片 | 日本深夜福利视频 | 中文字幕在线专区 | 一级黄色片在线播放 | 国内视频在线 | 久久综合导航 | 夜夜澡人模人人添人人看 | 国产精品第一页在线观看 | 欧美91av | 日本中文字幕在线视频 | 天天弄天天干 | 毛片激情永久免费 | 免费观看91视频 | 婷婷六月综合网 | 国产精品高清免费在线观看 | 日韩理论片在线观看 | 午夜精品999 | 最新国产精品亚洲 | 欧美激情视频一二三区 | 成人一区二区在线观看 | 中文字幕在线观看一区二区三区 | 日日操天天操夜夜操 | 日本黄色免费大片 | 久久久久久久久久久网站 | 国产资源av| 欧美精品做受xxx性少妇 | 亚洲全部视频 | 免费看三级网站 | 久久经典国产视频 | 99久久久久国产精品免费 | 精品国产一区二区三区四 | 精品一区精品二区高清 | av三级在线播放 | 成人免费 在线播放 | 国产视频97 | 久久久观看| 国产成人在线免费观看 | 免费看的黄网站 | 婷婷丁香九月 | 欧洲在线免费视频 | 天天操天天爱天天爽 | 久久老司机精品视频 | 国产精品久免费的黄网站 | 久久天天躁狠狠躁亚洲综合公司 | 国产九九九九九 | 久久香蕉一区 | 国产精品一区一区三区 | 国产亚洲精品久久 | 日韩a在线观看 | 欧美a在线看| 久久久久久久久毛片 | 国产午夜免费视频 | 91污在线观看 | 欧美天天干 | 亚洲精品国产精品国 | 久久99精品国产麻豆婷婷 | 91在线视频播放 | 99r在线| 欧美色伊人 | 国内精品久久久久久久影视麻豆 | 久久久三级视频 | 精品亚洲男同gayvideo网站 | 亚洲人成网站精品片在线观看 | 久草| 久久精品美女视频网站 | 精品国产欧美一区二区三区不卡 | 国产精品视频专区 | 久草在线视频免费资源观看 | 在线观看中文字幕网站 | 天天玩夜夜操 | 中文字幕免费观看全部电影 | 免费色视频在线 | 99精品一区 | 激情久久久久久久久久久久久久久久 | 精品久久久久久国产91 | 亚洲a色 | 在线观看免费视频 | 欧美亚洲一区二区在线 | 色无五月 | 婷婷午夜 | 午夜视频在线观看一区 | 在线看欧美 | 麻豆影视在线播放 | 国产高清亚洲 | 6080yy午夜一二三区久久 | 久久不卡日韩美女 | 欧美成人69av | 国产精品18久久久久白浆 | 亚洲精品在线观看不卡 | 国产日本亚洲 | 97人人视频 | 欧美三级免费 | 婷婷丁香花五月天 | 国产日韩欧美自拍 | 久久综合之合合综合久久 | 韩日色视频| 亚洲国产欧洲综合997久久, | 在线观看香蕉视频 | 国产露脸91国语对白 | 免费视频资源 | 日韩午夜在线 | 国产高清视频在线免费观看 | 成人午夜精品 | 韩国av免费| 成人在线免费观看视视频 | 黄色三级av | 日韩二区在线播放 | av在线色 | 开心激情婷婷 | 久久久精品国产一区二区 | 午夜精品久久久久久久久久久 | 亚洲欧美日韩一二三区 | 97爱爱爱| 亚洲欧美日本国产 | 91探花国产综合在线精品 | 欧美在线观看小视频 | 天天色天天射天天操 | 日韩电影在线看 | av导航福利 | 亚洲在线国产 | 亚洲蜜桃在线 | 91豆花在线观看 | 亚洲精品自在在线观看 | 亚洲草视频 | 青青河边草免费观看完整版高清 | 狠狠操天天操 | 五月婷婷视频在线 | 波多野结衣精品在线 | 在线观看国产亚洲 | 超碰免费公开 | 日本中文字幕电影在线免费观看 | 最近久乱中文字幕 | 亚洲精品久久久久中文字幕m男 | 一级做a爱片性色毛片www | 日韩欧美精品一区二区三区经典 | 国产婷婷色 | 国产中文在线播放 | 91欧美日韩国产 | 精品国产资源 | 亚洲欧洲av | 久久久私人影院 | 黄色免费电影网站 | 国产在线观看a | 亚洲自拍偷拍色图 | 天天躁天天躁天天躁婷 | 国产成人99av超碰超爽 | 69xx视频| 国产小视频福利在线 | 欧美精品亚洲精品 | 九九九免费视频 | 久久手机免费视频 | 人人干人人干人人干 | 欧美 日韩 性 | 国产精品一区一区三区 | 亚洲视频 中文字幕 | 中文字幕欧美日韩va免费视频 | 免费在线激情电影 | 国产伦精品一区二区三区… | 超碰人在线 | 精品国产区 | 中文字幕影片免费在线观看 | 午夜精品视频一区二区三区在线看 | 成年人毛片在线观看 | 九色福利视频 | 国产亚洲精品久久久久秋 | 超碰在线色 | 九九热精品视频在线播放 | 日韩激情小视频 | 成人av手机在线 | 久久av影视 | 婷婷视频在线 | 九九三级毛片 | 91久久精品一区 | 亚洲精品女人久久久 | 日韩av电影国产 | 久久一区二区三区四区 | 在线观看亚洲专区 | 亚洲综合视频网 | 91av播放| 色欲综合视频天天天 | 999精品在线 | 伊人春色电影网 | 天天干天天做天天爱 | 亚洲成色777777在线观看影院 | 特黄特色特刺激视频免费播放 | 97免费视频在线 | 亚洲精品mv在线观看 |