精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Groovy編寫Google App Engine應用

開發 開發工具
隨著Google App Engine添加了JVM功能,基于JVM的各種語言編寫的應用現在都可以在Google的云端運行。本文簡單介紹了如何使用Groovy編寫Google App Engine。

Google 剛剛宣稱(編者:此次更新時間為09年4月9日)他們的Google App Engine 云計算平臺現在已經支持了除了Python以外的其他的語言:即Java和Groovy!
現在,你可以通過Groovy高效的編寫你的Google App Engine 應用了。

幾星期以前,SpringSource Groovy團隊和Google App Engine Java 團隊緊密攜手,仔細的處理了大量的細節問題,以確保這門獲獎的頗為流行的基于JVM的動態語言--Groovy可以很好的運行在這個精彩的平臺上。他們針對那些限制嚴格以及有很強的安全管理政策的領域為Groovy編寫了一些補丁,之后在預定日期發布了 Groovy 1.6.1 更新。在新版本中,你可以通過直接在你的 WEB-INF/lib 目錄下部署 "groovy-all" JAR 文件開始通過 Groovy 編寫你的應用,并運行在 Google 的內核上。

在文本的其余部分,我將帶你通過一些簡單的步驟來創建你的***個基于Groovy的App Engine Web應用。由于他們在App Engine 的文檔里列的很清楚,這里我會跳過基本的安裝步驟,并且我將著重于構建Groovy 應用本身的方方面面。就像你即將看到的一樣,這會相當的輕松。

開始入門

首先,顯然,你得在 Google App Engine 上注冊一個Google帳號,以便你可以在該平臺創建應用,并能將其上載到云端。你也會需要下載并安裝Google App Engine Java SDK。上述所有的步驟,你應該參看在線文檔,你可以在里面找到所有你需要的細節。

一旦 SDK 安裝完畢,為了本次課程所需,你還應該下載并安裝 Groovy1.6。 本文前面的步驟需要我們用Groovy編譯一個servlet,你會用到 Groovy,但是在余下的部分,由于我們將使用Groovy在運行時自編譯的 Groovlets,所以你就不在需要它了。

有了 Java, SDK, Groovy 安裝,我們就可以繼續了,通過 Groovy-ready 項目模板建立一個新的項目。下載摘要,解壓到一個你喜歡的目錄下,下面讓我們看看里面都有什么!這感覺就像拆開圣誕禮物的包裝,對嗎?

我把這個模板項目解壓到了一個叫 gaedemo 的目錄下。在這個目錄的根,你會看到一個包含著所有我們的 Groovy 和 Java 源代碼需要去編譯的 src 目錄 (servlets, domain classes, utility classes, 等等)。 deploy 目錄基本上同我們將要輸出的webapp一致:你會看到一個包含所有編譯過的類的 classes 目錄, 存放各種 JAR 文件 lib 目錄(Groovy JAR 和 Google App Engine 自己的 API JAR 一樣), 以及存放 Groovlet 的 groovy 目錄。在本文的第二部分,我們將開發這些 Groovlets。 你也當然會注意到 appengine-web.xml 文件,它是一個 App Engine 特殊描述器。你可以能找到標準的 web.xml, 在它里面,你可以定義你自己的 servlets, 你的映射關系以及其它的東西。

編譯類

在對這個項目結構有個大概的印象之后,讓我們關鍵的文件都包括哪些.就讓我們從 build.groovy 文件開始把。我利用 Groovy 的 AntBuilder (構建在Ant之上的一個輕量級的領域特定語言) 替代了直接創建一個 Ant 編譯文件:

def ant = new AntBuilder().sequential {
webinf = "deploy/WEB-INF"
taskdef name: "groovyc", classname: "org.codehaus.groovy.ant.Groovyc"
groovyc srcdir: "src", destdir: "${webinf}/classes", {
classpath {
fileset dir: "${webinf}/lib", {
include name: "*.jar"
}
pathelement path: "${webinf}/classes"
}
javac source: "1.5", target: "1.5", debug: "on"
}
}

我們實例化一個 AntBuilder, 為目標目錄 WEB-INF 創建一個屬性,我們定義了 groovyc 的Ant任務,利用任務為 Groovy 代碼和指明了編譯器,這個編譯器(譯者:實際上就是 org.codehaus.groovy.ant.Groovyc ,這是個Java類,顯然它的作用就是把 Groovy 的代碼翻譯成Java代碼,剩下的事情就由 javac 來搞定了) 通過將編譯Java類的任務委托給 javac 編譯起而做到聯合編譯 Groovy 及其 Java 的依賴類 -- 當然,是否真能做到讓這兩種語言無縫集成,還有代證明。在定義完這個任務之后,將classpath設成 WEB-INF/lib 下面的JAR文件和編譯過的 classes,我們就可以啟動來編譯源代碼了。

為了執行這個 build 文件, 利用你已經安裝的 Groovy, 你只需要下面的命令去編譯你的項目

groovy build

設置項目描述符

在 appengine-web.xml 文件中包含著一些Google App Engine 部署你項目時需要的原數據。尤其的,這里是你定義應用的名稱以及版本號的地方,你需要將你自己應用的名稱更新進去。到現在,我們的描述符看起來就像下面的樣子:

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>myowngroovy</application>
<version>1</version>
</appengine-web-app>

#p#

創建你***個 Servlet

在跳入 Groovlets 之前,我們將從一個不錯的老 Servlet 開始!由于Google App Engine 支持 Servlet 2.5 規范,我們可以些一個簡單的 "Hello World!" Servlet。 我們在 src 目錄創建一個名為 HelloServlet.groovy 的文件,它包含下面的代碼:

import javax.servlet.http.*

class HelloServlet extends HttpServlet {
void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.contentType = "text/plain"
resp.writer.println "Hello Google App Engine Groovy!"
}
}

雖然你會注意到 Groovy 提供的更簡單的語法: 少了分號, public 關鍵字, 屬性的 getter/setter 以及分號的省略都是可選的,但是這看起來更想一個普通 Java servlet。

下一步: 我們需要在 web.xml 引用這個 servlet,就像這樣:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

一旦 servlet 配置完畢,別忘了用我們的小 build 文件來編譯 servlet

groovy build

把你的應用上載到云端

如果你的 Google App Engine SDK 配置正確,你應該可以在你的項目根目錄處運行下面的命令:

appcfg.sh update deploy/

***次運行時,這個命令會提示驗證你的權限,以后再調用的時候它將會打印類似下面的輸出:

Reading application configuration data...
Beginning server interaction for myowngroovy...
0% Creating staging directory
5% Scanning for jsp files.
20% Scanning files on local disk.
25% Initiating update.
28% Cloning 5 application files.
40% Uploading 1 files.
52% Uploaded 1 files.
90% Deploying new version.
95% Will check again in 1 seconds
98% Closing update: new version is ready to start serving.
99% Uploading index definitions.
Update complete.
Success.
Cleaning up temporary files...

如果你看到了 “Success” 這個字, 那是當然的了,因為所有的事情進行十分順利,而你的應用也已經準備就緒了。 通過類似下面的 URL 來訪問這個 servlet (根據你應用的名字而所有不同): http://myowngroovy.appspot.com/hello,你將會看到這條消息:“Hello Google App Engine Groovy!”

求救于 Groovlets

利用 Groovy 語言編寫老 Java servlet 的確很讓人興奮,對嗎? 這種感覺就像你***次作出了一個servlet 一樣,對嗎?不是那么的一樣,它好像幾乎已經不那么時髦了。幸運的是, Groovy 以及 Groovlets 來了。

在極小的容器中, Groovlets 只不過就是存放在 WEB-INF/groovy 目錄下的 Groovy 腳本,Groovy servlet 調度器被用來(譯者:在運行時) 編譯和渲染這些腳本。

首先,讓我們更新 web.xml,增加一個 GroovyServlet, 以及一個 URL 映射,使得所有能被模式 *.groovy 匹配上的 URL 都會轉向它。

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>GroovyServlet</servlet-name>
<servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GroovyServlet</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

一點搞定這個,我們馬上就在 WEB-INF/groovy 下創建我們***個 Groovlet 腳本, hello.groovy:

html.html {
head {
title "Hello"
}
body {
p "Hello Groovy World!"
}
}

這個 Groovy 腳本采用了一個名為 html 的變量名范圍(譯者:原文是 variable bound, 我估計是類似于 包路徑或者名稱空間的概念)來同 MarkupBuilder 的實例進行綁定。它(譯者:指 MarkupBuilder)是一個為了創建各種 XML 或 HTML 標記又小又有用的領域特定語言。 MarkupBuilder 用更清晰更 Groovy 的語法替代了依靠一行一行通過 println 語句輸出HTML字符串的形式。 當然,你可以通過混合一些循環和條件讓這個標記語言更加動態。

在重新上傳這個應用之后,你現在可以通過 http://myowngroovy.appspot.com/hello.groovy 來訪問這個 Groovlet 了。這次你就不需要編譯任何東西了,因為編譯這些 Groovlets 腳本是 GroovyServlet 的事情。

簡單嗎?

接下來...

我們僅僅是觸及了一些很膚淺的情況,但是這足以讓你對 Groovy 入門了。在你在 Google App Engine APIs 探索的同時,這里還有一些你可以通過你的 Groovlets 和 servlets 使用的破有意思的服務:

◆一個數據存儲的接口 (datastore API),你可以通過底層的無 schema 的API 或者 JDO 存儲你的對象

◆一個用來可以進行各種轉換和應用濾鏡圖像接口

◆一個用來發送電子郵件的郵件接口

◆一個用來緩存重量數據結構或者計算結果的內存緩沖接口(memcache API)

◆一個用來獲取遠端 URL 內容的 URL 獲取接口

◆一個使用 Google 用戶帳戶來進行驗證的用戶接口

當然,所有的這些服務都可以被你的 Groovlet 腳本調用。 你也可以使用第三方庫并把他們放在你的 WEB-INF/lib 目錄里面。研究一下更多的可用接口,看看在它們上面構建一個瘦 Groovy 層是否會讓它們更容易被使用,通過更Groovy的方式,這會很有趣。

如今, Groovlets 和普通的 servlet 被徹底的支持了,但是例如, Grails 應用還是不能跑在當前版本的 Google App Engine 上。我們將繼續和 Google App Engine 團隊一道努力,以便讓你可以通過 Grail 讓更多的高級應用(譯者:和Groovy)跑的一樣好。

【編輯推薦】

  1. Google宣布App Engine增加Java支持
  2. Google App Engine:堅定的站在Java的中心
  3. 使用Java開發Google APP Engine初試
責任編輯:yangsai 來源: 譯言
相關推薦

2010-02-01 09:21:49

GroovyGoogle App Gaelyk

2012-08-01 14:12:45

IBMdW

2009-08-11 10:16:27

Google App GAE

2009-10-14 10:11:39

App Engine

2009-05-22 14:52:33

App Engine免費配額

2009-04-13 15:48:54

Google AppJavaSun

2009-04-08 16:47:11

GoogleApp EngineJava

2009-08-11 11:23:41

什么是GAEGoogle App

2009-04-09 08:54:07

App EnginegoogleJava

2011-09-06 14:53:01

Google App

2009-05-13 09:20:12

Google App 應用收費

2009-02-16 09:11:42

Google App SDKGQL

2009-10-16 09:08:59

App Engine

2009-09-02 11:34:09

Google App

2011-09-15 10:29:13

架構

2013-07-30 12:29:19

Google App Google技術Engine

2009-09-08 09:45:23

App Engine性

2009-04-09 09:53:43

GoogleAppEngineJava

2010-12-01 10:49:52

Google App

2009-08-07 13:53:14

App Engine
點贊
收藏

51CTO技術棧公眾號

无码精品人妻一区二区三区影院| 国产男男chinese网站| 在线国产91| 久久成人18免费观看| 色婷婷**av毛片一区| 天天摸天天舔天天操| gogo在线观看| aaa亚洲精品| 久久视频在线视频| 亚洲综合激情视频| 色婷婷在线播放| 99久久精品免费| 国产精品国模在线| 亚洲欧美精品aaaaaa片| 99精品在免费线中文字幕网站一区| 亚洲成人av一区二区三区| 蜜桃臀一区二区三区| 99成人精品视频| 综合天堂av久久久久久久| 精品国产91久久久久久久妲己 | 欧美一区二区色| avhd101老司机| 视频国产精品| 91精品办公室少妇高潮对白| 中文字幕欧美日韩一区二区| 高h放荡受浪受bl| 玖玖在线精品| 欧美黑人狂野猛交老妇| 亚洲av无码国产精品麻豆天美| 亚洲伊人精品酒店| 精品福利在线视频| 亚洲精品一区二| 国产情侣一区二区| 石原莉奈一区二区三区在线观看| 久热精品视频在线免费观看| 特级西西人体wwwww| 性欧美video另类hd尤物| 午夜激情一区二区三区| 中文字幕日韩一区二区三区| 日韩av免费观影| 国产一区二区在线观看视频| 欧美洲成人男女午夜视频| 69av视频在线| 欧美丰满日韩| 亚洲人成电影在线播放| 亚洲激情 欧美| 我要色综合中文字幕| 欧美亚洲动漫制服丝袜| 久久久性生活视频| 国产素人视频在线观看| www精品美女久久久tv| 国产精品一区二区久久久| 特级毛片www| 最新成人av网站| 久久91精品国产91久久跳| 女教师淫辱の教室蜜臀av软件| 亚洲婷婷伊人| 亚洲国产精品字幕| 国产精久久久久| 精品视频一区二区三区| 欧美日韩精品二区第二页| 欧美少妇性生活视频| 黄色视屏在线免费观看| 亚洲日本电影在线| 日韩欧美视频第二区| 日本私人网站在线观看| av中文一区二区三区| 99中文字幕| 国内老熟妇对白xxxxhd| 国产一区二区不卡| 91欧美激情另类亚洲| 国产在成人精品线拍偷自揄拍| 日韩制服丝袜av| 久久久久久久av| 免费在线视频观看| 在线播放日韩| 久久久久中文字幕| 欧美一区二区三区爽爽爽| 国产精品探花在线观看| 亚洲欧美日韩国产中文| 成都免费高清电影| 精品亚洲成人| 北条麻妃在线一区二区| 老熟妻内射精品一区| 99久久国产综合精品成人影院| 色噜噜狠狠狠综合曰曰曰| 黄色国产在线播放| 91精品亚洲| 欧美精品做受xxx性少妇| 久久久久人妻一区精品色欧美| 亚洲视频观看| 日本精品久久久| 波多野结衣绝顶大高潮| 久久 天天综合| 成人性生交xxxxx网站| 国产又粗又黄又爽视频| 国产成人一区二区精品非洲| 国产精品一区二区三区精品| 男人天堂资源在线| 国产精品久久久久久久浪潮网站| 精品久久免费观看| 久久一卡二卡| 日韩欧美中文字幕在线播放| 国产九九热视频| 色妞ww精品视频7777| 日韩av网站电影| 天堂网av2018| 精品动漫3d一区二区三区免费| 日产精品久久久一区二区福利| 视频一区二区三区四区五区| 久久久噜噜噜久久狠狠50岁| 国产欧美在线视频| 少妇av一区二区| 中文字幕不卡在线| 福利在线一区二区| 日韩欧美看国产| 欧美一区二区三区在线| 久久人人爽人人人人片| 日韩免费在线| 久久久爽爽爽美女图片| 最近国语视频在线观看免费播放| 国产美女娇喘av呻吟久久| 国产一区免费视频| 在线免费观看黄色网址| 亚洲中国最大av网站| 日韩精品一区二区三区四| 欧美三区四区| 精品区一区二区| 国产又粗又长又硬| 国产精品久久久久久模特 | 国产精品一区二区在线观看不卡| 久久精品国产99精品国产亚洲性色| jizz亚洲| 一区二区三区精品| 亚洲乱码国产一区三区| 澳门成人av| y97精品国产97久久久久久| 99热国产在线观看| 国产精品综合视频| 亚洲国产综合自拍| 忘忧草在线日韩www影院| 欧美一级欧美一级在线播放| 在线观看免费小视频| 国产精品日本| 国产一区精品视频| 男女视频在线| 91精品久久久久久蜜臀| 亚洲av成人无码久久精品| 999亚洲国产精| 成人3d动漫一区二区三区91| 看黄网站在线| 欧美在线一二三| 自拍视频一区二区| 女同性一区二区三区人了人一| 国产美女精品视频| 午夜视频在线| 欧美在线啊v一区| 久久精品国产亚洲av久| 亚洲欧美日韩国产一区| 国模精品一区二区三区| 欧美6一10sex性hd| 日韩美女主播在线视频一区二区三区 | 国产性猛交xx乱| 久久伊人亚洲| 任我爽在线视频精品一| 美女91在线看| 亚洲精品美女网站| 国产情侣在线视频| 国产麻豆精品久久一二三| eeuss中文| 精品一区二区三区中文字幕视频| 萌白酱国产一区二区| 国产片在线播放| 亚洲精品videosex极品| 三级网站免费看| 激情视频一区二区三区| 国产亚洲一区在线播放 | 欧美整片在线观看| 日本天堂影院在线视频| 欧美在线影院一区二区| 2014亚洲天堂| 免费人成在线不卡| 亚洲精品一区二区三区av| 日韩电影免费观看高清完整版在线观看| 在线观看久久av| 91av久久久| 亚洲精品欧美二区三区中文字幕| 色乱码一区二区三区在线| 91精品国产乱码久久久久久久 | 久久综合网hezyo| a毛片在线免费观看| 樱桃国产成人精品视频| 日韩久久久久久久久久久| 欧美日韩国产欧| 九9re精品视频在线观看re6| 成人全视频免费观看在线看| 精品国内产的精品视频在线观看| 国产成人av免费看| 黄网站色欧美视频| 美国精品一区二区| 国产999精品久久久久久| 欧美在线观看www| 国产一区二区三区电影在线观看| 成人精品视频久久久久| 2020国产在线| 亚洲香蕉在线观看| 国产婷婷在线视频| 激情成人在线视频| 国产精品久久久免费看| 成人免费电影视频| 一级在线免费视频| 亚洲成人精选| 国产精品免费区二区三区观看| av资源在线看片| 中文字幕亚洲第一| 国产成人手机在线| 亚洲九九爱视频| 制服丝袜第一页在线观看| 免费一级片91| 美女日批免费视频| 婷婷综合伊人| 国产欧美日韩综合精品二区| 一区在线影院| 久久久免费观看视频| 91在线不卡| 亚洲激情小视频| 国产又大又粗又硬| 91官网在线免费观看| 日韩免费一二三区| 成人欧美一区二区三区视频网页| 欧美大片免费播放器| 日韩高清在线观看| 欧美变态另类刺激| 国产综合亚洲精品一区二| 一区二区精品在线观看| 亚洲高清极品| 高清日韩一区| 国色天香久久精品国产一区| 国产成人一区二区三区| 成年人在线网站| 在线播放国产一区二区三区| 黄色av网址在线| 在线播放视频一区| 一区二区三区在线免费观看视频| 精品动漫一区二区三区| 国产一级免费观看| 亚洲麻豆国产自偷在线| 国产wwwwxxxx| 欧美国产日本韩| 91激情视频在线观看| 91免费精品国自产拍在线不卡| 日韩在线一区视频| 美国毛片一区二区三区| 中文字幕第80页| 久久这里有精品15一区二区三区| 欧日韩免费视频| 欧美日本一区二区视频在线观看| 亚洲一区二区不卡视频| av一区二区高清| 亚洲高清资源综合久久精品| 国产欧美日韩精品高清二区综合区| 丁香婷婷久久久综合精品国产| 韩国女主播一区二区| 国产成人一区二区三区小说| 日韩精选视频| 国产精品丝袜高跟| 日日夜夜一区| 91热精品视频| 欧美9999| 国产精品久久精品视| 精品视频高潮| 91中文字精品一区二区| 试看120秒一区二区三区| 99re资源| 欧美成人午夜77777| 韩国成人av| 免费视频一区三区| 亚洲欧美日韩综合一区| 亚洲一本二本| 日韩激情视频一区二区| 亚洲资源av| 男人天堂手机在线视频| 激情婷婷亚洲| aⅴ在线免费观看| 日本少妇一区二区| 古装做爰无遮挡三级聊斋艳谭| 国产成人福利片| 国产三级国产精品| 中文字幕av在线一区二区三区| 国产真实乱在线更新| 亚洲成人综合视频| 黄色av一区二区| 欧美一区日本一区韩国一区| 免费av一级片| 国产一区二区三区中文| 菠萝菠萝蜜在线视频免费观看| 欧美精品videos另类日本| 暖暖成人免费视频| 成人福利视频网| 国产亚洲成av人片在线观黄桃| 免费看污久久久| 欧美日韩伦理在线免费| 女同性恋一区二区| 亚洲第一黄色| 不卡的av中文字幕| 不卡av在线网| 五月婷婷婷婷婷| 亚洲福中文字幕伊人影院| 国产裸体美女永久免费无遮挡| 欧美日韩国产经典色站一区二区三区| 亚洲天堂avav| 亚洲精品久久久久中文字幕欢迎你| 精品无人乱码| 欧美黑人性视频| 懂色aⅴ精品一区二区三区| 国产精品v欧美精品∨日韩| 欧美日韩水蜜桃| 免费拍拍拍网站| 日韩黄色一级片| 国产ts在线观看| 久久精品在线免费观看| 欧美一区二区三区观看| 欧美日韩性生活视频| 中文字幕人妻一区二区三区视频| 亚洲电影免费观看高清完整版在线观看 | 国产精品自产拍在线观| 欧亚精品一区| av动漫在线免费观看| 三级在线观看一区二区| 97人妻精品一区二区三区免费| 国产精品家庭影院| 日韩中文字幕在线观看视频| 精品欧美久久久| 国产精品一区二区三区四区色| 欧美大片免费观看| 四虎国产精品永久在线国在线| 欧美美乳视频网站在线观看| 伊人天天综合| 四虎国产精品永久免费观看视频| 国产片一区二区| 日本视频在线观看免费| 欧美精品乱码久久久久久按摩| 国产精品亚发布| 无码人妻丰满熟妇区毛片蜜桃精品 | 国产一区二区高清视频| 亚洲女同另类| 国产原创popny丨九色| 激情综合色综合久久| 91社区视频在线观看| 狠狠躁天天躁日日躁欧美| 亚洲一区二区色| 最近2019中文字幕第三页视频 | 亚洲欧洲日产国码无码久久99| 国产成人精品影院| 男人av资源站| 欧美精品一卡两卡| 快射av在线播放一区| 国产欧美精品一区二区三区-老狼| 成人同人动漫免费观看 | 欧美自拍丝袜亚洲| 国产免费a∨片在线观看不卡| 欧美野外猛男的大粗鳮| 牛牛精品成人免费视频| 一区二区传媒有限公司| 99riav久久精品riav| 日本黄色一级视频| 亚洲欧洲成视频免费观看| 福利视频亚洲| 亚洲人体一区| 另类成人小视频在线| 乱h高h女3p含苞待放| 日韩一区二区精品葵司在线 | 香蕉人人精品| 在线看的黄色网址| 国产精品国产三级国产专播品爱网| 91久久久久国产一区二区| 久久精品2019中文字幕| 日韩欧美精品电影| 最新视频 - x88av| 国产精品一区在线| 国产中文字幕视频| 国产亚洲在线播放| 韩国一区二区三区视频| 国产日韩欧美精品在线观看| 成人ar影院免费观看视频| 无码一区二区三区在线观看| 中文字幕久久亚洲| 91亚洲无吗| 欧洲黄色一级视频| 综合欧美一区二区三区| 欧美在线 | 亚洲| 青青久久av北条麻妃黑人| 亚洲欧洲日韩| 久久人妻少妇嫩草av无码专区 | 国产高清免费观看| 欧美成人一二三| 精品国产99| 免费黄色av网址| 欧美日韩国产一二三| 美女精品导航|