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

JSF和Tapestry全面比較

開發 后端
本文先介紹JSF和Tapestry簡介,之后對JSF和Tapestry進行三大全面比較,如處理生命周期等。

目前應用很廣泛而且也很成熟的Struts應用開發框架,在未來幾年里將會逐漸淡出,其基于Action(action-based)的開發模型也將被活躍的java社區所推崇的新的開發模型所替代,對于java開源社區來說,追求***是很多人的理想。在2000年初誕生的Struts以及其他類似的 MVC(Model View Controler)框架主要都是以操作為中心,且都是無狀態的開發模型,而現在,基于組件(component-based)和事件驅動(event- driven)的開發模型逐漸流行起來,在很多時候都成了Struts的有利競爭者,這其中來自jcp的jsr127-JavaServer Faces(JSF)以及來自apache的Tapestry是其中的佼佼者。

在這篇文章中,我們將把這兩種框架JSF和Tapestry進行詳細的對比。我們的比較將涉及到兩種框架的設計、運行環境以及如何開發。比較的目的在于讓讀者了解這兩種框架各自的優缺點,以便于在自己的項目中,根據實際情況,選擇合適的框架。該文章的內容基于JSF1.1和Tapestry3.0.3 (在個別地方由于需要會談到Tapestry4.0)。

JSF和Tapestry簡介 

JSF源于JCP(Java Community Process)的JSR127規范。Sun公司自己同時也對該規范提供了一個實現,目前的版本是1.1,而且該項目的設計者之一正是Struts的作者 Craig McClanahan。另外一個JSF的實現,就是Apache的一個項目MyFaces。目前,幾個主流的java開發工具廠商都在其java ide中提供了對jsf的支持,比如Sun、Oracle、IBM、Borland等,而且JSF的后續版本JSF1.2也將成為J2EE5.0的一個組成部分。   

Tapestry最初于2000年在SourceForge注冊,來自于Apple WebObjects,隨后,于2003年成為Apache的一個項目。與JSF不同的是,Tapestry并不是某一個jsr規范的實現,它僅僅是一個開源項目,當前版本是3.0.3。4.0版本預計也將在后面的一段時間內推出。

JSF和Tapestry作為MVC框架,在一些基本特性上是非常類似的:
◆它們都讓開發者不再直接與Servlet API打交道,而是讓開發者在一個更高的抽象層上思考問題;
◆它們都將web頁面上的顯示元素綁定到一個java對象的某個屬性上,這些屬性可能是字符串、數字、日期或者其他類型,并且由該對象來維護其狀態。用戶在頁面上的交互行為(比如用鼠標點擊一個按鈕或者鏈接)都直接映射為java類中的一個事件處理方法;
◆兩種框架都支持組件式的開發方式,并且開發的組件可被其他開發者重用。兩種框架都自帶一個標準組件庫,提供web開發的常見通用功能。

在下面的章節里面,我們將會看見這兩個框架在各自的實現方式上是有很大區別的。對于大多數程序員來說,基于兩種框架做開發,將是非常不同的兩種體驗。

Sidebar: 例子程序在下面本文提供了一個例子程序,該程序的代碼大部分都將在這片文章中做出詳細的描述。這個程序主要就是一個管理個人假期的工具,它的主要功能包括:
◆一個home界面, 列出所有登記的假期,包括假期開始時間、天數以及一下描述信息;
◆一個detail界面,用于瀏覽某一登記假期的詳細信息;
◆一個new界面,用于添加一個假期信息。

下面這幅圖展示了該程序的主體流程和功能:

Sidebar程序  

對比1: 頁面開發(Page Development)

一個web應用實際上就是后端用java代碼獲取相應數據,并將數據傳遞給前端表現層代碼,然后最終返回給終端用戶。因此,在一個開發人員看來,當他初次接觸JSF和Tapestry時,最直接的感覺就是JSF的表現層是基于JSP的模板技術,而Ta pestry的表現層模板基本就可以看作是一個HTML。

JSF
JSF采用JSP的技術作為其表現層技術。與標準兼容的JSF實現必須實現一個核心組件的JSP標簽集。含有JSF標簽的html頁面不能在標準瀏覽器中預覽。要想瀏覽,必須使用JSF設計工具或者直接部署到應用中,在真實運行環境中瀏覽。

對于JSF技術來說,其表現層技術就是JSP,但是這不是唯一的解決方法。Hans Bergsten的文章介紹了可供選擇的其他的方法,讀者可閱讀該文章獲取詳細信息,Improving JSF by Dumping JSP 。 Bergsten的文章中指出了混合JSF和JSP標簽暴露出的一些問題。當然,這些問題在JSF1.2和JSP2.1中會得到解決。

Tapestry
對于大多數的Tapestry應用來說,Tapestry的表現層模板看起來就是一個簡單的規則的Html,只不過其中加入了一些Tapestry的屬性。

大家可以嘗試把代碼放入一個Html的body標簽當中,你會發現瀏覽器可以正常的觀看它。
上面的例子中,jwcid = "@componentName"屬性就是定義了一個Tapestry標簽。
Tapestry的模板不僅僅可以用HTML作為載體,它也支持其他的一些標記語言,Tapestry標簽是具有良好格式的標簽,即必須成對出現。 Tapestry模板技術支持的標記語言典型的就是HTML以及用于無線應用的WML。其***的一個特點 就是,可脫離Servlet容器,直接預覽。
事實上JSF標簽由于不是標準的html標簽,使得它對于初學者來說,是難于使用的。而對于很多java程序員來說,他們喜歡編輯HTML代碼,至少是樂意編寫html代碼。

JSF技術宣稱的一個技術優點就是,可使用同一個模板編寫運行在不同設備上的應用,由此帶來很大的靈活性。然而,這樣做,由于要協調不同設備間的表現差異性,那么很可能同一個模板,將不能正好表現你的輸出。同時,你不得不學習新的標簽庫的使用方法,并且搞懂它們是怎樣映射到html的。隨著時間的推移, JSF標簽的簡潔可幫助你很快的編寫表現層代碼,同時也降低了開發者對jsf設計工具的依賴。

本文認為,JSF的學習成本高于其技術優點。在大多數情況下,我們并不需要編寫適應于不同設備的應用。盡管JSF設計工具提供了簡單的圖形化的方法來構建和預覽JSF應用,但是在一個開發中,頁面設計人員更多的是喜歡用流行的HTML設計工具來編寫和預覽頁面,這就發生了一個沖突,即只有將更多的頁面工作轉移到java程序員身上,因為一個頁面設計人員通常情況下是不樂意去操作JSF設計工具的。

JSF開發者一直在尋找一種解決這些問題的方法。JSF技術設計良好的擴展體系,使得這成為可能,其中一個技術浮現出來,那就是表現層控制器。一個非常有前途的表現層控制器的實現就是Facelets ,由java.net創建的開放源代碼項目。Facelets的靈感就來源于Tapestry的模板模型,這使得JSF不再依賴于JSP技術。Facelets允許開發者創建Tapestry風格的標簽。

在未來的一段時間內,Facelets將會被開發者所采用,或許會影響JSF未來的版本。和JSF比較,Tapestry在表現層方面基于HTML代碼,可被標準瀏覽器所瀏覽,這正是它在表現層上的優勢所在。

比較2: java編程模型(Java Programming Model)

在前面我們提到Tapestry和JSF都允許表現層的模板直接和一個Java類中的屬性和方法進行交互,那這些類的實例在運行時是怎么創建和管理的呢?

Tapestry
Tapestry的一個完整過程通常都要包括三個部分:用于顯示的頁面模板(一般就是html),帶有相關屬性和方法的java類,用于定義頁面模板上的控制元素和java類的關系的頁面定義文件。Tapestry有著一套特殊的訪問HttpSess ion、ServletContext的體系。

在一個頁面定義文件中描述所有的數據綁定是可以的,但是一個頁面控制元素卻不能在request周期內,綁定一個java類。在request周期內只能通過一個page類訪問一些屬性和方法。這其中最主要的限制就是關于page類的問題,一個pag e類必須是BasePage或者AbstractPage的派生類。從另一方面來說,這就意味著你所編寫的表現層邏輯的代碼將會和框架本身的實現有著非常緊密的耦合。不過,Tapestry未來的版本就會減少這種耦合,努力成為一個松耦合的編程模型。

JSF
在JSF應用中沒有頁面定義文件。它只有一個全局的配置文件,命名為:faces-config.xml,里面通常都定義了一堆"managed beans"。這些managed beans都是帶有屬性和事件監聽器的定義良好的java bean。在faces-config.xml中定義的后端bean都有三個參數:一個標識符、一個java類名、一個bean的生存周期,生存周期可以是request、session、application中的一種。一旦在 faces-config.xml中定義好了一個managed bean,那一個前端頁面上的顯示控制元素就可以使用標識符來關聯這個bean。managed bean也可以配置為引用另外一個managed bean。

JSF和Tapestry都可以方便的與其他的中間層技術整合,比如Spring。JSF managed bean facility 是一個IoC(Inversion of Control)。通過諸如 JSF-Spring 這樣的擴展技術,我們可以方便將其和Spring很好的整合在一起,使得JSF的表達式可以調用Spring的bean的方法。雖然Spring可以與 Tapestry3.0整合,但是在Tapestry4.0當中才能更好的充分發揮IoC特性;Tape stry的領導Howard Lewis Ship已經在Tapestry啟動了IoC框架的工作。Spring的bean將會很輕松的注入到Tapestry應用的類中。

JSF的編程模型提供了更大的靈活型,因為你可以通過組合的方式來豐富你的代碼功能。比如,你可以設定一個指定的managed bean完成頁面的某些功能,同時,你也可以在這些bean里引用其他的managed bena,從而可在頁面間共享一些功能。
而Tapestry必須使用類繼承的方法,也就是說,Tapestry應用中的一個頁面類必須從框架指定的基類中派生(包含一大堆框架指定的狀態),這并不是一個理想的方法。

JSF能夠非常直觀的管理session和application周期內的狀態: 頁面代碼可以方便的訪問managed bean,而不管其生命周期是request、session還是application。而Tapestry在這方面就相對差點,不過, Tapestry4.0在這方面做了很大的改進,引入了類似于JSF managed bean的技術,同時,還支持Java 5.0的annotaions技術,減少對XML配置文件的依賴,從而降低應用配置的復雜性。

JSF在編程模型上來看,與Tapestry相比具有更大的靈活性。

對比3:請求處理生命周期(Request Processing Life Cycle)

請求處理生命周期在一個web應用中是很重要的,它反映了一個請求從提交到將信息返回給客戶端的處理過程。當然,請求處理生命周期必須能以某種優雅的方式,在正確的地方插入用戶定制的請求處理操縱邏輯。

JSF
JSF的請求處理生命周期清晰的定義成六個步驟:Restore View、Apply Request Values、 Process Validations、 Update Model Values、 Invoke Application 和 Render Response。從第二步Apply Request Values開始,可以直接跳到***一步Render Response,甚至可以直接返回給客戶端并且通知JSF運行時,響應操作已經完成了。有些方法要訪問JSF的FacesContext對象,比如狀態監聽器(phase listeners)、事件操縱器(event handlers)、轉換器(converters)、驗證器(validators)等,這都可能忽略請求處理生命周期中的某些步驟。

Tapestry
JSF有一個單一的生命周期模型,而Tapestry的生命周期依賴于其調用的引擎服務(engine service)。每一個引擎服務(engine service)都有其自己的生命周期。比如,Tapestry中的Direct Service控制標單的提交,而Page Service用于渲染頁面,并且不需要額外的服務端操作。每一個引擎服務(engine service)都被設計成在自身的生命周期內完成一些特定的任務。這就意味著,對于一個特定的需求,你可以創建一個對應的引擎服務(engine service),并且可自己定制生命周期。

JSF的生命周期概念更容易理解,而Tapestry可對一個特定的操作定義一個生命周期,這在某些問題的解決上,可能會提供更優雅的解決方案。

【編輯推薦】

  1. 了解JSF整體架構
  2. 詳細介紹JSF和MVC
  3. JSF通過URL來傳遞參數
  4. Facelets使用JSF組件
  5. BackingBean和JSF配置文件
責任編輯:佚名 來源: JavaEye
相關推薦

2009-06-22 14:22:41

JSF和Tapestr

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-23 16:29:51

JSFSpring MVCStruts 2

2009-07-03 14:46:42

JSP開發框架JSFTapestry

2009-06-23 15:51:00

JSF框架

2009-06-26 14:37:10

EJB和Spring

2009-07-15 16:39:51

AWT和Swing

2009-08-11 14:57:11

比較C#和Java

2009-07-14 14:16:03

Tapestry 5.Tapestry教程Tapestry頁面

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-24 13:50:29

JSF和MVC

2009-06-29 18:04:13

Tapestry5

2009-06-24 16:42:17

JSF和Facelet

2011-06-30 10:20:38

JSFMVC

2009-06-23 13:21:26

JSF和Spring

2009-06-24 17:43:24

Struts和JSF

2022-02-14 09:00:00

SQLNoSQL數據庫

2009-07-14 16:30:41

Swing與SWT

2009-06-22 15:35:31

JSF和Struts

2009-06-24 14:17:00

BackingBeanJSF配置文件
點贊
收藏

51CTO技術棧公眾號

亚洲最大视频网| 中文字幕乱码免费| 一区二区三区在线免费观看视频| 日韩欧美一区二区三区在线视频 | 特级毛片www| 日韩国产一区二区三区| 日韩欧美成人午夜| 91精品91久久久中77777老牛| av网站在线播放| 国产成人高清视频| 国产精品电影在线观看| 日韩女优一区二区| 国产一区不卡| 精品国产乱码久久久久久久| www.国产区| 一色桃子av在线| 国产日韩欧美电影| 成人激情av| 一区二区小视频| 亚洲日本久久| 日韩一区二区三区xxxx| 久久丫精品国产亚洲av不卡| 99热播精品免费| 欧美日韩国产中文字幕| 伊人再见免费在线观看高清版| 国产色a在线| thepron国产精品| 91精品视频在线看| 免费精品一区二区| 日韩午夜免费| 欧美日韩国产成人高清视频| 欧美人与禽zoz0善交| 天堂网av成人| 亚洲加勒比久久88色综合| 97超碰免费在线观看| 久久久久毛片| 欧美在线观看视频一区二区三区 | 极品色av影院| 欧美先锋资源| 亚洲欧美日韩网| av鲁丝一区鲁丝二区鲁丝三区| 国产精品美女久久久久人| 色94色欧美sute亚洲13| 免费国产黄色网址| аⅴ资源天堂资源库在线| 亚洲精选一二三| 色乱码一区二区三区熟女| h网站在线免费观看| 久久蜜桃av一区精品变态类天堂| 国产欧美综合精品一区二区| 亚洲高清视频在线播放| 国产精品小仙女| 亚洲va欧美va在线观看| 国产又黄又爽视频| 久久精品免费看| 91精品国产综合久久香蕉最新版 | 99国产精品久久久久久久久久久| 99国精产品一二二线| www.欧美国产| 高清不卡在线观看| 国产精品播放| 天天干天天草天天射| k8久久久一区二区三区| 久久伊人一区二区| 国产午夜在线观看| 国产欧美日韩不卡| 亚洲一区二区四区| 麻豆91在线| 亚洲人成网站精品片在线观看 | 雨宫琴音一区二区在线| 久久久久成人网| 国产做受高潮漫动| 日韩精品成人一区二区三区| 国产裸体写真av一区二区| 一级黄色片在线| 国产精品一二三区| 精品国产免费一区二区三区 | 怡红院成永久免费人全部视频| 免费人成在线不卡| 成人在线免费观看视视频| 91tv国产成人福利| 国产99久久久久久免费看农村| 久草一区二区| 成人综合影院| 亚洲美腿欧美偷拍| 日本福利视频在线| 日韩av电影资源网| 日韩视频在线你懂得| 日本少妇毛茸茸| 日韩黄色大片| 欧美极品少妇与黑人| 日本中文字幕第一页| 久久99精品国产.久久久久| 99se婷婷在线视频观看| 国产在线91| 亚洲激情在线播放| 韩国日本在线视频| 91成人精品观看| 亚洲成人网久久久| 一本在线免费视频| 一本久道久久久| 成人春色激情网| 日本大臀精品| 亚洲嫩草精品久久| 久久精品免费网站| 国产成人tv| 久久久成人的性感天堂| 韩国av中文字幕| 国产剧情一区二区| 日韩精品一区二区三区色偷偷| 制服丝袜在线播放| 欧美在线不卡视频| 波多野结衣先锋影音| 小小影院久久| 国产成人精品免费久久久久| 国产视频一区二区三| 久久精品网站免费观看| 国产一区二区视频播放| 色成人综合网| 亚洲午夜精品视频| 国产一区二区三区影院| 国产盗摄精品一区二区三区在线| 日韩欧美三级一区二区| 精精国产xxx在线视频app| 欧美一级日韩免费不卡| 丰满大乳奶做爰ⅹxx视频| 亚洲成人二区| 国产精品一区二区久久| 欧美日韩激情视频一区二区三区| 亚洲制服丝袜av| 中文字幕亚洲影院| 日本高清免费电影一区| 91地址最新发布| 免费观看国产视频| 亚洲综合一区在线| 永久av免费在线观看| 久久网站免费观看| 国产精品日韩专区| 成年人免费在线视频| 91久久线看在观草草青青| 老司机福利av| 久久九九国产| 日本精品一区| 天天综合网站| 国产亚洲成精品久久| 999视频在线| 国产亚洲午夜高清国产拍精品 | 精品无码人妻一区二区三区品 | 亚洲淫性视频| 欧美一区二区视频观看视频| www.xxxx日本| 国产一区二区三区免费播放| 懂色av粉嫩av蜜臀av| 日本精品在线播放| 欧美高清视频在线播放| 亚洲第一色视频| 亚洲福中文字幕伊人影院| 国产白袜脚足j棉袜在线观看| 亚洲人成人一区二区三区| 九色综合日本| 超薄肉色丝袜脚交一区二区| 伊人伊成久久人综合网站| 中文字幕资源网| 亚洲欧美激情一区二区| 香蕉视频在线观看黄| 极品av少妇一区二区| 精品九九九九| 性欧美freehd18| 日日摸夜夜添一区| 国产黄色片免费观看| 亚洲mv大片欧洲mv大片精品| 国产精品一区二区入口九绯色| 久久国产高清| 亚洲一区不卡在线| 视频一区日韩| 欧美亚洲激情在线| 成年人在线观看视频| 91精品国产综合久久久久| 国产精品suv一区二区69| 久久综合九色综合欧美就去吻 | 日韩美女在线| 欧美国产日韩二区| 欧美套图亚洲一区| 777xxx欧美| 青青操免费在线视频| 国产精品美女久久久久久久网站| 奇米777在线| 国产亚洲网站| 欧美日韩视频免费在线观看| 国产毛片精品| 成人h视频在线观看播放| 91白丝在线| 中文字幕日本精品| 欧美熟妇另类久久久久久不卡 | 国产综合久久久| 亚洲自拍偷拍色片视频| 天堂av中文在线观看| 另类色图亚洲色图| 日韩精品福利| 日韩精品一区二区三区视频| 久久久久久无码精品大片| 尤物视频一区二区| 一级黄色毛毛片| 色乱码一区二区三区在线| 亚洲激情综合| 超碰免费在线公开| 综合综合综合综合综合网| 91久久精品www人人做人人爽| a日韩av网址| 欧美国产日韩一区二区| freemovies性欧美| 亚洲国产精品久久91精品| 国产精品亚洲欧美在线播放| 欧美日韩在线第一页| 全网免费在线播放视频入口| 国产欧美精品一区二区三区四区| 蜜臀av粉嫩av懂色av| 狠狠网亚洲精品| www日韩视频| 国产一区91| a天堂资源在线观看| 国产精品伦理久久久久久| 日本不卡一区二区三区在线观看| jizz性欧美2| 5566中文字幕一区二区| 福利一区二区三区视频在线观看| 琪琪亚洲精品午夜在线| 欧美aa在线| 97免费视频在线播放| 亚洲大胆人体大胆做受1| 久久精品欧美视频| 三区四区在线视频| 在线看欧美日韩| 超碰国产在线观看| 伊人男人综合视频网| 毛片免费在线观看| 亚洲免费人成在线视频观看| 老牛影视av牛牛影视av| 欧美成人bangbros| 国内精品偷拍视频| 欧美一级日韩不卡播放免费| 国产麻豆免费视频| 91精品国产综合久久久久| 国产裸体无遮挡| 7777精品久久久大香线蕉| 这里只有精品9| 欧美中文字幕一区二区三区| 中文字幕一区二区人妻视频| 色香蕉久久蜜桃| 国产一级片免费视频| 欧美色视频在线观看| a片在线免费观看| 欧美午夜电影网| 亚洲在线免费观看视频| 欧美无乱码久久久免费午夜一区| 中文字幕观看在线| 欧美挠脚心视频网站| 国产精品高潮呻吟AV无码| 91精品国产丝袜白色高跟鞋| 国产区精品在线| 日韩欧美三级在线| 欧美一区二区公司| 日韩激情片免费| 精品美女视频在线观看免费软件 | 欧美二区三区在线| 成人羞羞网站入口| 三年中文高清在线观看第6集| 91精品国产乱码久久久久久| 天堂а√在线中文在线| 日韩午夜免费视频| 亚洲综合在线网站| 久久成人免费网站| 在线观看一区二区三区四区| 91在线观看视频| 9.1片黄在线观看| 亚洲精品成人少妇| 老熟妇仑乱一区二区av| 欧美人伦禁忌dvd放荡欲情| 亚洲av无码乱码在线观看性色| 日韩欧美国产1| 头脑特工队2在线播放| 欲色天天网综合久久| av网站大全在线| 2019中文字幕全在线观看| 91精品国产经典在线观看| 1卡2卡3卡精品视频| 亚洲精品3区| 老司机午夜网站| 免费精品视频| 性生活一级大片| 久久久国产精品麻豆| 极品魔鬼身材女神啪啪精品| 欧美日韩亚洲一区二区| 国产欧美久久久精品免费| 亚洲精品av在线| 黄页视频在线播放| 日本午夜精品理论片a级appf发布| 欧美日韩精品一区二区三区视频| 亚洲最大福利网| 国产成人高清| 欧美一级免费播放| 麻豆精品国产传媒mv男同| 水蜜桃av无码| 综合欧美亚洲日本| 国产免费一区二区三区四区五区| 日韩一区二区三区四区| 黄色在线视频观看网站| 欧美激情视频网| 久久三级毛片| 欧美精品123| 雨宫琴音一区二区在线| www.午夜av| 国产欧美一区二区精品忘忧草| 久久久久无码国产精品不卡| 欧美日韩一二三| 偷拍自拍在线| 欧美精品久久久久久久久| 久草综合在线| 日韩中文字幕一区二区| 精品动漫3d一区二区三区免费版| 黄色小视频免费网站| 久久蜜桃一区二区| 久久久久久久久影院| 日韩女优av电影| 成人午夜在线影视| 国产精品情侣自拍| 精品国产成人| 国产在线观看福利| 99久久精品免费| 久草视频精品在线| 欧美变态口味重另类| 黄色成人在线| 91夜夜未满十八勿入爽爽影院| 日韩在线第七页| 国产福利在线免费| 国产精品美女久久久久av爽李琼| 亚洲精品91天天久久人人| 亚洲欧美在线一区二区| 亚洲天堂资源| 看欧美日韩国产| 亚洲资源av| 欧美亚一区二区三区| 欧美性猛交xxxx黑人猛交| 亚洲三级中文字幕| 日本久久91av| 国际精品欧美精品| 十八禁视频网站在线观看| 久久久久久久一区| 亚洲天堂五月天| 中文字幕亚洲欧美一区二区三区| 欧美日韩精品免费观看视完整| 欧美日韩高清在线一区| 天堂精品中文字幕在线| av网站免费在线看| 欧美性一二三区| 日本不卡不卡| 97超碰人人模人人爽人人看| 国产精品大片| 国产黄色网址在线观看| 色系网站成人免费| 最新真实国产在线视频| 成人黄色av网站| 欧美色图首页| 最新在线黄色网址| 91国偷自产一区二区开放时间 | 九九九九九伊人| 亚洲精品乱码久久久久久久久 | 青青一区二区| 亚洲天堂av线| 亚洲视频资源在线| 天天干天天操av| 国产成人精品久久| 99精品在线观看| 亚洲啪av永久无码精品放毛片 | 污网站在线免费| 亚洲一区二区三区影院| 同心难改在线观看| 国产精品久久久久不卡| 欧美一区高清| 右手影院亚洲欧美| 欧美日韩久久久一区| 国产丝袜精品丝袜| 日韩国产精品一区二区三区| 国产伦精品一区二区三区免费 | 久久成人免费网| 日本三级片在线观看| 亚洲色图偷窥自拍| 国产亚洲字幕| 熟女性饥渴一区二区三区| 亚洲欧洲精品成人久久奇米网| 黄色一级a毛片| 国产精品日韩欧美综合| 黄色日韩在线| 美女网站视频色| 精品国产一区二区三区av性色 | 超碰97在线人人| 视频在线观看91| 九九九国产视频| 少妇av一区二区三区| 小嫩嫩12欧美|