一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

2021-08-26 22:08BAT的烏托邦YourBatman Java教程

作為一枚Javaer,不可能沒有聽過(guò)Java EE。比如至少聽過(guò)這句廣為流傳的話“Java EE的13種核心技術(shù)”,而其實(shí)Java EE遠(yuǎn)不止13種技術(shù)。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

前言

你好,我是方同學(xué)(YourBatman)

若你還不太清楚Java EE是什么,可先移步這里:什么是Java EE?

技術(shù)的發(fā)展日新月異,滄海桑田,一不留神的掉隊(duì),可能就是永遠(yuǎn)。就連穩(wěn)得一批的Spring技術(shù)棧也受到了基于GraalVM的QUARKUS等框架的挑戰(zhàn),好在Spring社區(qū)迅速推出了Spring Native予以回應(yīng)。

作為一枚Javaer,不可能沒有聽過(guò)Java EE。比如至少聽過(guò)這句廣為流傳的話“Java EE的13種核心技術(shù)”,而其實(shí)Java EE遠(yuǎn)不止13種技術(shù)。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

通過(guò)此圖你領(lǐng)略到了Java EE的“大而全”。從1999年出現(xiàn)到已有20余年,風(fēng)云變幻,現(xiàn)在早已不是Java EE的天下,Spring技術(shù)棧已接管成為實(shí)際標(biāo)準(zhǔn)。本文就盤點(diǎn)盤點(diǎn)Java EE這幾十種技術(shù)規(guī)范,依舊堅(jiān)挺的還要哪些?

Tips:推薦學(xué)習(xí)指數(shù)獲得3顆??的可認(rèn)為依舊堅(jiān)挺,4顆??認(rèn)為知識(shí)點(diǎn)還比較重要,5顆??認(rèn)為依舊是主流技術(shù)

所屬專欄

BATutopia-Java EE

相關(guān)下載

  • 工程源代碼:https://github.com/yourbatman/BATutopia-java-ee
  • 【女媧Knife-Initializr工程】訪問(wèn)地址:http://152.136.106.14:8761
  • Java開發(fā)軟件包(Mac):https://wangpan.yourbatman.cn/s/rEH0 提取碼:javakit
  • 程序員專用網(wǎng)盤上線啦,開放注冊(cè)送1G超小容量,幫你實(shí)踐做減法:https://wangpan.yourbatman.cn

版本約定

  • Java EE:6、7、8
  • Jakarta EE:8、9、9.1

另外說(shuō)明:下面所有API的GAV坐標(biāo)均使用Jakarta EE的方式給出,原因是它的GAV命名、歸類相較于舊的Java EE更加規(guī)范,對(duì)開發(fā)者而言規(guī)律性更強(qiáng)、理解起來(lái)更方便些。版本號(hào)方面全部采用javax.*命名空間對(duì)于的版本,若想升級(jí)到j(luò)akarta.*命名空間的話僅需大版本號(hào) + 1即可(GAV不變),非常方便。

另外還有一個(gè)小約定:同是javax.*命名空間的話,Jakarta EE的GAV大版本號(hào)與Java EE 8的保持一致,若發(fā)現(xiàn)大版本號(hào)比后者大了,那么說(shuō)明命名空間已是新的jakarta.*。

從Java EE 8(及以后)版本推薦使用Jakarta EE的GAV,因?yàn)檗饤壍鬔ava EE元素已是大勢(shì)所趨

正文

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

Java EE技術(shù)總覽

以Java EE 8/Jakarta EE 8為例,主要包含這些技術(shù):

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

劃分為五大類:

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

其中,Web應(yīng)用技術(shù)是現(xiàn)在Java最最最重要的使用場(chǎng)景。因此本文就聚焦在這塊,來(lái)聊聊它有哪些技術(shù),有哪些技術(shù)現(xiàn)今依舊堅(jiān)挺。

Part1: Web應(yīng)用技術(shù)

Web Application Technologies,共8個(gè)規(guī)范。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

把該part放在首位,因?yàn)樗鼘?duì)開發(fā)者是最重要、使用得最多的,也是開發(fā)者最熟悉的部分。這“一切”可能權(quán)由Servlet承擔(dān)著...

1. Servlet

推薦學(xué)習(xí)指數(shù)5

Servlet規(guī)范絕對(duì)是作為一枚Javaer必知必會(huì)的技術(shù)。

Java Servlet是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來(lái)自 Web 瀏覽器或其他 HTTP 客戶端的請(qǐng)求和 HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序之間的中間層。

Java Servlet 是運(yùn)行在帶有支持 Java Servlet 規(guī)范的解釋器的 web 服務(wù)器上的 Java 類。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

Servlet現(xiàn)今依舊是Java Web應(yīng)用開發(fā)的主流技術(shù),即使以Spring WebFlux為代表的響應(yīng)式編程技術(shù)出現(xiàn)了且很多,但基于Servlet的Spring MVC依舊熱度不減,是業(yè)務(wù)開發(fā)的首選。

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.servlet@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.servlet-api@lt;/artifactId@gt;
  4. @lt;version@gt;4.0.4@lt;/version@gt;
  5. @lt;scope@gt;provided@lt;/scope@gt;
  6. @lt;/dependency@gt;

代表API:

  • ServletContext
  • HttpServlet
  • HttpFilter
  • RequestDispatcher

Servlet由Web容器(如Tomcat)提供實(shí)現(xiàn),因此只有你的工程在編譯期強(qiáng)依賴于Servlet的API參與編譯時(shí)才需導(dǎo)入此庫(kù)(scope=provided,表示參與編譯但并不會(huì)打包進(jìn)去)。

2. JSP

推薦學(xué)習(xí)指數(shù)2

雖說(shuō)JSP技術(shù)早已out,但由于其濃厚的歷史原因,所以我認(rèn)為每一個(gè)Java Web開發(fā)人員對(duì)此門技術(shù)都應(yīng)該有一定了解。不為使用,只為談資。

JSP用全稱Java Server Pages,是一種動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)。之所以說(shuō)動(dòng)態(tài)是因?yàn)樗褂肑SP標(biāo)簽在HTML網(wǎng)頁(yè)中插入Java代碼,Java代碼放在標(biāo)簽@lt;% %@gt;里。

JSP本質(zhì)是一種Servlet(編譯后均變?yōu)镾ervlet),主要用于實(shí)現(xiàn)Java web應(yīng)用程序的用戶界面部分。那么為何有了Servlet還需要JSP呢?與純Servlet相比:JSP可以很方便的編寫或者修改HTML網(wǎng)頁(yè)而不用去面對(duì)大量的println()/writer.write()語(yǔ)句,可讀性可維護(hù)性更高。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.servlet@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.servlet-api@lt;/artifactId@gt;
  4. @lt;version@gt;4.0.4@lt;/version@gt;
  5. @lt;scope@gt;provided@lt;/scope@gt;
  6. @lt;/dependency@gt;

代表API:

  • JspContext、PageContext
  • JspPage、HttpJspPage(public interface JspPage extends Servlet { ... })
  • JspTag

顯然,JSP規(guī)范的具體實(shí)現(xiàn)亦由Web容器提供,并且99.99%的情況下開發(fā)者并不需要它的API,所以該GAV了解下即可。

3. EL表達(dá)式

推薦學(xué)習(xí)指數(shù)3

EL因JSP而生,但又獨(dú)立于JSP。雖說(shuō)JSP已死,但EL作為一門獨(dú)立的表達(dá)式語(yǔ)言,是可以單獨(dú)存在的。

Expression Language表達(dá)式語(yǔ)言,一種在JSP頁(yè)面獲取數(shù)據(jù)的簡(jiǎn)單方式(只能獲取數(shù)據(jù),不能設(shè)置數(shù)據(jù)),目的是簡(jiǎn)化開發(fā)且提高可維護(hù)性,替代開發(fā)者在JSP頁(yè)面上寫的Java代碼。

EL表達(dá)式是在JSP2.0開始新引入概念,所以有時(shí)候也叫它JSP表達(dá)式語(yǔ)言。它由JSP提出而出現(xiàn),但并不必須依托于它而存在,而是可作為一門獨(dú)立的表達(dá)式語(yǔ)言技術(shù)提供使用,生命周期并不與JSP對(duì)等。

著名的校驗(yàn)框架Hibernate Validator強(qiáng)依賴了EL表達(dá)式語(yǔ)言技術(shù),所以這就是為何我認(rèn)為它的學(xué)習(xí)指數(shù)比其“父親”JSP要高的原因。

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.el@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.el-api@lt;/artifactId@gt;
  4. @lt;version@gt;3.0.3@lt;/version@gt;
  5. @lt;scope@gt;provided@lt;/scope@gt;
  6. @lt;/dependency@gt;

代表API:

  • ELContext
  • ELManager
  • ExpressionFactory
  • Expression、ValueExpression、MethodExpression

EL一般也由Web容器提供實(shí)現(xiàn)。當(dāng)然嘍,Web容器也將其實(shí)現(xiàn)拆開來(lái)了可單獨(dú)使用,如嵌入式tomcat的實(shí)現(xiàn)模塊為:org.apache.tomcat.embed:tomcat-embed-el

4. JSTL標(biāo)準(zhǔn)標(biāo)簽庫(kù)

推薦學(xué)習(xí)指數(shù)1

強(qiáng)依托于JSP的存在而存在。

JavaServer Pages Standard Tag Library,JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)。他是一個(gè)JSP標(biāo)簽集合,封裝了JSP應(yīng)用的通用核心功能。目的同EL有點(diǎn)類似:簡(jiǎn)化開發(fā)且提高可維護(hù)性,替代開發(fā)者在JSP頁(yè)面上寫的Java代碼。

和EL一起它哥倆的出現(xiàn)目的都是為了讓開發(fā)者不要再在JSP上寫Java代碼啦,不同的是JSTL必須依托于JSP的存在而存在。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.servlet.jsp.jstl@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.servlet.jsp.jstl-api@lt;/artifactId@gt;
  4. @lt;version@gt;1.2.7@lt;/version@gt;
  5. @lt;scope@gt;provided@lt;/scope@gt;
  6. @lt;/dependency@gt;

代表API:

  • LoopTag(public interface LoopTag extends Tag { ... })
  • SQLExecutionTag
  • LocaleSupport(fmt標(biāo)簽)

用過(guò)JSTL的同學(xué)可能對(duì)standard.jar和jstl.jar這兩個(gè)Jar印象最深,這里做下簡(jiǎn)單說(shuō)明:

  • GAV只是api,一般不包含實(shí)現(xiàn)(符合Java EE只做規(guī)范的理念)
  • standard.jar和jstl.jar屬于具體實(shí)現(xiàn)(web容器一般自己有提供)。如還有Apache的標(biāo)準(zhǔn)實(shí)現(xiàn):org.apache.taglibs:taglibs-standard-impl

5. WebScoket

推薦學(xué)習(xí)指數(shù)4

一門2011年才出現(xiàn)的“新”技術(shù),Java亦提供了實(shí)現(xiàn)。

WebSocket是HTML5開始提供的一種在單個(gè)TCP 連接上進(jìn)行全雙工通訊的協(xié)議。而這里聊的WebSocket是Java對(duì)其的支持,制定的編碼規(guī)范。

WebSocket大大改進(jìn)了服務(wù)器/瀏覽器的交互方式,作為一門新新技術(shù),生命力還是很強(qiáng)的,推薦學(xué)習(xí)。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.websocket@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.websocket-api@lt;/artifactId@gt;
  4. @lt;version@gt;1.1.2@lt;/version@gt;
  5. @lt;scope@gt;provided@lt;/scope@gt;
  6. @lt;/dependency@gt;

代表API:

  • @ServerEndpoint、ServerApplicationConfig、HandshakeRequest
  • @OnOpen、@OnMessage、@OnError、@OnClose

它是構(gòu)建在http協(xié)議之上的全雙工通信協(xié)議,相較于TCP更加方面,是和Html頁(yè)面搭建長(zhǎng)鏈接通訊的首選。

6. JSF

推薦學(xué)習(xí)指數(shù)1

JavaServer Faces,一種用于構(gòu)建 Web 應(yīng)用程序的標(biāo)準(zhǔn)Java框架。它提供了一種以組件為中心來(lái)開發(fā) Java Web 用戶界面的方法,從而簡(jiǎn)化了開發(fā)。

MVC設(shè)計(jì)模式 (Model-View-Controller)出自于它,使用Facelets聲明語(yǔ)言構(gòu)建視圖,并且模型由CDI托管bean表示,控制器由JSF引擎本身負(fù)責(zé)。

Java EE幾十種技術(shù),“活著的”還剩幾何(Web應(yīng)用技術(shù)篇)

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.faces@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.faces-api@lt;/artifactId@gt;
  4. @lt;version@gt;2.3.2@lt;/version@gt;
  5. @lt;/dependency@gt;

代表API:

  • Facelet、FaceletContext(public abstract class FaceletContext extends ELContext { ... })
  • FacesWrapper
  • FacesRenderer
  • @RequestMap、@ApplicationMap、@ApplicationMap、@RequestCookieMap、RequestParameterMap

總而言之,JSF算是被Struts、Spring MVC這類框架吊打。

7. JSON-P

推薦學(xué)習(xí)指數(shù)2

Java API for JSON Processing,專門用于處理JSON數(shù)據(jù)的API被納入JavaEE規(guī)范體系。用于使用生成和解析JSON數(shù)據(jù)中描述的對(duì)象模型或流模型來(lái)解析,轉(zhuǎn)換和查詢JSON數(shù)據(jù)??纯此腁PI:

  • Json:所有JSON對(duì)象的工廠類(如創(chuàng)建JsonParser、JsonGenerator),提供大量靜態(tài)方法
  • JsonParser:從流或?qū)ο竽P椭凶x取JSON數(shù)據(jù)的基于事件的解析器,如getInt()、getLong()
  • JsonGenerator:一次將JSON數(shù)據(jù)寫入流中一個(gè)元素,如write(xxx)、writeNull()

看過(guò)我寫的Jackson專欄的同學(xué)能發(fā)現(xiàn),這和Jackson簡(jiǎn)直一毛一樣,甚至API很大一部分相同或相似。這便就是Java EE提供的用于處理Json的底層API。

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.json@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.json-api@lt;/artifactId@gt;
  4. @lt;version@gt;1.1.6@lt;/version@gt;
  5. @lt;/dependency@gt;

代表API:

  • JsonReader、JsonWriter、JsonReaderFactory、JsonWriterFactory
  • JsonValue、JsonString、JsonNumber、JsonArray

他是Java EE抽象出來(lái)處理JSON的底層 API,對(duì)標(biāo)Jackson-core。

8. JSON-B

推薦學(xué)習(xí)指數(shù)2

Java EE 7提供了JSON-P讓Java具有了處理Json的能力,但是這么底層的API誰(shuí)會(huì)用?就像Jackson一樣如果沒有提供ObjectMapper這種自動(dòng)綁定能力的API的話估計(jì)也很少人會(huì)用。直到Java EE 8官方貌似才恍然大悟意識(shí)到了這一點(diǎn)。

Java API for JSON Binding,實(shí)現(xiàn)JSON數(shù)據(jù)與Java對(duì)象之間的綁定。常見的Java primitive types和String類都能夠自動(dòng)綁定,很明顯它底層走的JSON-P。

給幾個(gè)JSON-B的注解你瞧瞧:

  • @JsonbDateFormat
  • @JsonbNumberFormat
  • @JsonbProperty
  • @JsonbVisibility

這套路面熟吧(閱讀過(guò)我Jackson專欄的同學(xué)會(huì)覺得很面熟)。

API的GAV:

  1. @lt;dependency@gt;
  2. @lt;groupId@gt;jakarta.json.bind@lt;/groupId@gt;
  3. @lt;artifactId@gt;jakarta.json.bind-api@lt;/artifactId@gt;
  4. @lt;version@gt;1.0.2@lt;/version@gt;
  5. @lt;/dependency@gt;

代表API:

  • Jsonb、JsonbBuilder
  • JsonbSerializer、JsonbDeserializer
  • JsonbProvider

Java EE新增的JSON技術(shù),只能說(shuō)起晚了也趕晚了。想要“奪回市場(chǎng)”基本沒戲。

總結(jié)

Web應(yīng)用技術(shù)作為Java EE最最最重要的部分,共包含8項(xiàng)具體技術(shù),其中:

  • 1個(gè)仍為主流:Servlet
  • 1個(gè)還比較重要:WebScoket
  • 1個(gè)還在堅(jiān)挺:EL表達(dá)式
  • 其它的5個(gè)存在感已非常之弱,連學(xué)習(xí)的必要性也沒有了。相信隨著時(shí)間的推移,被遺忘就是它們的歸宿

本文介紹完了最為重要的Web技術(shù)的情況,下文繼續(xù)為你介紹“非Web相關(guān)的技術(shù)”情況,那才真叫一個(gè)一片狼藉,“哀鴻遍野”。

原文鏈接:https://mp.weixin.qq.com/s/Qt3xIQMmdjv5iBBEjfkPxA

延伸 · 閱讀

精彩推薦
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒有升過(guò)級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 国产高清在线视频一区二区三区 | 窝窝午夜精品一区二区 | 2021日产国产麻豆 | 欧美多gayxxxx | sss在线播放 | 精品国产美女福利在线 | 亚洲欧洲综合 | 香蕉久久一区二区三区啪啪 | 鬼畜重口高h合集长短篇 | 欧美日韩色图 | 天天碰夜夜操 | 天天夜夜草草久久伊人天堂 | 操穴勤 | 亚洲男人的天堂视频 | 国产人成激情视频在线观看 | 亚洲v成人天堂影视 | bl放荡受np双性 | 免费视频网 | 性bbbbwwbbbb| 亚洲一二区视频 | 日本中文字幕一区二区三区不卡 | 按摩院已婚妇女中文字幕 | 幻女free性俄罗斯第一次摘花 | 9久热久爱免费精品视频在线观看 | 免费视频一区 | 国产美女久久久久 | 国产小视频免费看 | 国产精品aaa | 精品无码人妻一区二区免费AV | 高跟丝袜人妖sissy露出调教 | 欧美xxxxx性| 含羞草传媒网站免费进入欢迎 | 免费观看美景之屋 | 91制片厂制作果冻传媒破解 | 国产一区二区在线观看美女 | 無码一区中文字幕少妇熟女H | 亚洲毛片免费看 | 视频一区二区国产无限在线观看 | haodiaose在线精品免费观看 | 男人的视频网站 | 久久天堂成人影院 |