• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于JSON的異構(gòu)Web平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

    2021-04-06 10:13:48黃秀麗
    關(guān)鍵詞:數(shù)據(jù)格式異構(gòu)頁(yè)面

    黃秀麗,陳 志

    (1.南京理工大學(xué)紫金學(xué)院,江蘇 南京 210023;2.上海立信會(huì)計(jì)金融學(xué)院,上海 201209)

    0 引 言

    隨著互聯(lián)網(wǎng)的發(fā)展,Web平臺(tái)的前后端分離已經(jīng)成為必然。前后端發(fā)展的越來(lái)越多樣化。Web平臺(tái)前端往往需要同時(shí)支持手機(jī)端、平板電腦和PC端,對(duì)于前端應(yīng)用來(lái)說(shuō),更加注重功能應(yīng)用和良好的用戶體驗(yàn)。目前,HTML5以及相對(duì)應(yīng)的前端框架實(shí)現(xiàn)了前端應(yīng)用的大部分功能,而包含開發(fā)語(yǔ)言的傳統(tǒng)前端網(wǎng)頁(yè)開發(fā)方式正逐步減少。Web平臺(tái)后端則更加集中于數(shù)據(jù)的存儲(chǔ)、分析和加工,同一個(gè)Web平臺(tái)經(jīng)常要支持多種類型的數(shù)據(jù)庫(kù)甚至開發(fā)語(yǔ)言。前后端需要通過一種獨(dú)立于語(yǔ)言和平臺(tái)的數(shù)據(jù)格式進(jìn)行通信。

    JSON(JavaScript object notation)由Douglas Crockford在2001年提出。JSON作為JavaScript的一個(gè)子集,是一種純文本的數(shù)據(jù)交換格式。目前,JSON在網(wǎng)絡(luò)安全、氣象數(shù)據(jù)、位置信息、3D技術(shù)、物聯(lián)網(wǎng)等領(lǐng)域應(yīng)用廣泛[1-6]。在JSON與XML進(jìn)行數(shù)據(jù)傳輸效率對(duì)比時(shí),實(shí)驗(yàn)顯示JSON在數(shù)據(jù)傳輸效率方面明顯優(yōu)于其他數(shù)據(jù)傳輸格式[7-10]。JSON不僅支持傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),也支持NoSQL系統(tǒng)中常用的半結(jié)構(gòu)化數(shù)據(jù)模型,JSON對(duì)應(yīng)的查詢語(yǔ)言JSONiq以及JSON的模式形式和邏輯基礎(chǔ)也正在研究中[11]。

    隨著Web平臺(tái)的發(fā)展,在同一個(gè)Web平臺(tái)中往往需要用到不同數(shù)據(jù)庫(kù)或者編程語(yǔ)言進(jìn)行不同功能模塊的開發(fā)[12-14]。Java和Python作為目前主流的兩種語(yǔ)言,在數(shù)據(jù)處理和人工智能方面都有各自的優(yōu)勢(shì)。Java作為經(jīng)典的面向?qū)ο笳Z(yǔ)言,語(yǔ)法結(jié)構(gòu)嚴(yán)謹(jǐn),應(yīng)用范圍廣泛,已經(jīng)占據(jù)了Web平臺(tái)開發(fā)的主流市場(chǎng)。Python作為近年來(lái)人工智能比較流行的語(yǔ)言,能夠以更簡(jiǎn)潔的語(yǔ)法,更強(qiáng)大的第三方庫(kù)強(qiáng)有力地支撐復(fù)雜數(shù)據(jù)分析和智能處理。該文設(shè)計(jì)了一種結(jié)合Java和Python兩種語(yǔ)言的異構(gòu)Web平臺(tái),實(shí)現(xiàn)了異構(gòu)平臺(tái)中的數(shù)據(jù)通信,同時(shí)采用了目前應(yīng)用廣泛的JSON作為異構(gòu)Web平臺(tái)的數(shù)據(jù)格式。

    1 異構(gòu)Web平臺(tái)的設(shè)計(jì)

    1.1 JSON數(shù)據(jù)格式

    JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫,也易于機(jī)器解析和生成。JSON使用的字符集是UTF-8,有兩種表示結(jié)構(gòu)。一種是通過一對(duì)大括號(hào)包含的一組“名/值”對(duì)的無(wú)序組合方式表示數(shù)據(jù),例如:{“name1”:“value1”,“name2”:2020}?!懊?值”對(duì)通過冒號(hào)進(jìn)行分隔,冒號(hào)的前面是名稱,冒號(hào)后面是和名稱對(duì)應(yīng)的屬性值,屬性值可以是布爾值、數(shù)字、字符串,也可以是JSON對(duì)象或JSON數(shù)組,甚至可以是null;另外一種結(jié)構(gòu)是JSON數(shù)組形式,例如:[{“name1”:“value1”},{“name2”:2020}]。在程序中把JSON對(duì)象表示為JSON字符串輸出,稱為JSON序列化。把JSON字符串恢復(fù)成JSON對(duì)象,就稱為反序列化,也稱為JSON解析。JSON在Web應(yīng)用中有很多優(yōu)點(diǎn),如傳輸速率快、支持語(yǔ)言多、書寫簡(jiǎn)單等。由于它的優(yōu)勢(shì),現(xiàn)在廣泛應(yīng)用在開發(fā)中[15]。

    1.2 異構(gòu)Web平臺(tái)設(shè)計(jì)

    Java和Python作為經(jīng)典的面向?qū)ο笳Z(yǔ)言,在Web平臺(tái)的開發(fā)中可以發(fā)揮各自的優(yōu)勢(shì),將Java和Python結(jié)合使用已經(jīng)成為很多Web平臺(tái)的選擇。目前,Java的Web容器大多是Tomcat,而Python的Web容器有Flask,Djongo等。Tomcat作為經(jīng)典的Web容器已經(jīng)發(fā)展到Tomcat10.0版本,部署方便,運(yùn)行穩(wěn)定。這里選擇Tomcat作為Web容器,Java作為后端開發(fā)的主要語(yǔ)言,負(fù)責(zé)和數(shù)據(jù)庫(kù)的持久層進(jìn)行交互工作。同時(shí)通過Java代碼調(diào)用Python的.py文件方法處理Web平臺(tái)的異構(gòu)情況。Java和Python之間需要進(jìn)行數(shù)據(jù)的通信,這里選擇JSON數(shù)據(jù)作為相互通信的數(shù)據(jù)格式。Web平臺(tái)的前端采用完全獨(dú)立于后端的方式,前端頁(yè)面不包含后端開發(fā)語(yǔ)言,完全采用HTML5和前端框架VUE開發(fā),前后端之間通過Jquery和Ajax技術(shù)進(jìn)行通信,同樣采用JSON數(shù)據(jù)格式進(jìn)行交互,如圖1所示。

    圖1 異構(gòu)Web平臺(tái)設(shè)計(jì)

    Web平臺(tái)的視圖層即Web前端頁(yè)面,采用獨(dú)立于后端的前端語(yǔ)言實(shí)現(xiàn),可以增加對(duì)前端設(shè)備的兼容性,同時(shí)支持手機(jī)端、平板電腦、PC端以及不同的操作系統(tǒng)。視圖層通過Ajax和JSON數(shù)據(jù)相結(jié)合的方式與后端通信,減少了前后端開發(fā)的工作難度,可以各自獨(dú)立開發(fā),提升開發(fā)效率??刂茖油ㄟ^Servlet進(jìn)行控制,負(fù)責(zé)對(duì)前端請(qǐng)求的統(tǒng)一處理,通過業(yè)務(wù)判斷選擇和數(shù)據(jù)庫(kù)交互或者是和Python腳本交互。模型層負(fù)責(zé)與持久層的數(shù)據(jù)庫(kù)進(jìn)行交互。下面將通過一個(gè)實(shí)驗(yàn)室管理系統(tǒng)的核心模塊實(shí)現(xiàn)代碼對(duì)異構(gòu)Web平臺(tái)的具體實(shí)現(xiàn)方式進(jìn)行說(shuō)明。該實(shí)驗(yàn)室管理系統(tǒng)實(shí)現(xiàn)了實(shí)驗(yàn)室的預(yù)約登記,實(shí)驗(yàn)報(bào)告的提交和批改,實(shí)驗(yàn)成績(jī)的登記和分析功能,通過Java語(yǔ)言的Tomcat8.0容器作為Web開發(fā)平臺(tái),并調(diào)用Python3.6腳本實(shí)現(xiàn)成績(jī)數(shù)據(jù)的處理。

    2 JSON在異構(gòu)開發(fā)語(yǔ)言中的應(yīng)用

    2.1 JSON在異構(gòu)開發(fā)語(yǔ)言中的數(shù)據(jù)流分析

    在實(shí)驗(yàn)室成績(jī)管理模塊中,可以通過Python對(duì)學(xué)生成績(jī)進(jìn)行更加全面和直觀的分析。教師用戶在前端頁(yè)面通過Ajax提交對(duì)特定班級(jí)和課程的分析請(qǐng)求。請(qǐng)求參數(shù)通過Tomcat服務(wù)器傳遞給控制層對(duì)應(yīng)的Servlet,在Servlet中對(duì)前端頁(yè)面?zhèn)鬟f的參數(shù)進(jìn)行判斷,如果需要獲取對(duì)應(yīng)的數(shù)據(jù)庫(kù)信息,則通過模型層進(jìn)行查詢并返回對(duì)應(yīng)的查詢結(jié)果。Servlet得到查詢結(jié)果以后,通過Gson對(duì)象將查詢結(jié)果封裝為JSON字符串,Servlet將JSON字符串作為程序運(yùn)行參數(shù)傳遞給Python腳本。在這個(gè)過程中,數(shù)據(jù)流的傳遞過程如圖2所示。

    圖2 成績(jī)分析模塊數(shù)據(jù)流圖

    在數(shù)據(jù)流圖中可以看到,所有的數(shù)據(jù)集中在控制層進(jìn)行處理,在異構(gòu)情況中使用JSON數(shù)據(jù)作為通信方式,可以很好地降低系統(tǒng)的耦合度,提高各個(gè)模塊的獨(dú)立性。

    2.2 JSON在異構(gòu)開發(fā)語(yǔ)言中的通信實(shí)現(xiàn)

    在異構(gòu)語(yǔ)言的Web項(xiàng)目中,需要安裝所有語(yǔ)言的運(yùn)行環(huán)境。Web項(xiàng)目發(fā)布后,在服務(wù)器中除了安裝Java的運(yùn)行環(huán)境,同時(shí)也要安裝Python的運(yùn)行環(huán)境和使用到的第三方庫(kù)。Python的第三方庫(kù)安裝有多種方式,可以通過pip命令直接安裝,也可以通過圖形化開發(fā)軟件Pycharm安裝,或者將庫(kù)文件拷貝到安裝目錄site-packages文件夾里。為了更加方便地在服務(wù)器上運(yùn)行Python腳本,這里推薦通過pip命令直接安裝的方式。以安裝第三方庫(kù)Numpy為例,可以在命令行輸入pip3 install numpy完成Numpy庫(kù)的安裝。

    目前Java調(diào)用Python的方法主要有兩種:第一種是通過Jython的方式,Jython是一種可以在Java代碼中包含Python代碼并且解釋執(zhí)行的語(yǔ)言,但這種方式不能調(diào)用第三方庫(kù);第二種方式是通過Java自帶的Runtime對(duì)象調(diào)用Python腳本并傳入JSON參數(shù),這種方式可以調(diào)用第三方庫(kù),前提是在服務(wù)器上安裝了Python的運(yùn)行環(huán)境和第三方庫(kù)。此處采用第二種方式。異構(gòu)Web平臺(tái)的控制層分析完教師用戶從頁(yè)面提交的成績(jī)分析請(qǐng)求后,調(diào)用數(shù)據(jù)庫(kù)查詢方法獲取成績(jī)數(shù)據(jù)封裝為對(duì)象列表,通過Gson對(duì)象將Java列表轉(zhuǎn)換為JSON字符串給Python腳本。Java在控制器中調(diào)用Python腳本的具體方式如下。

    String result="";

    String Scores="";

    ArrayList scoreList=(ArrayList) new ScoreImpl().getScoreList();

    Gson gs=new Gson();

    String gsObject=gs.toJson(scoreList);

    String argsForPython[]=new String[] {"python","/root/libpythonPlot/score.py",gsObject};

    Process proc;

    try {

    proc=Runtime.getRuntime().exec(argsForPython);

    BufferedReader in=new BufferedReader(new InputStreamReader(proc.getInputStream()));

    String line="";

    while ((line=in.readLine())!=null) {

    result=result+line;

    }

    in.close();

    proc.waitFor();

    } catch (IOException e) {

    e.printStackTrace();

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    Python腳本的引用方式可以是相對(duì)路徑或絕對(duì)路徑,但為了避免項(xiàng)目發(fā)布時(shí)路徑的變化,更多地采用絕對(duì)路徑。Python腳本通過運(yùn)行參數(shù)接受JSON字符串,并且通過json.loads方法將JSON字符串轉(zhuǎn)換為JSON對(duì)象。獲得JSON對(duì)象后可以通過下標(biāo)進(jìn)行循環(huán)遍歷。

    scores=sys.argv[1]

    jsonscore=json.loads(scores)

    listx=[]

    listy=[]

    for index in range(len(jsonscore)):

    listx.append(index)

    listy.append(jsonscore[index-1]['score'])

    x=np.array(listx)

    y=np.array(listy)

    通過Python腳本的運(yùn)行可以繪制出分?jǐn)?shù)對(duì)應(yīng)的數(shù)據(jù)分析圖,并由前端頁(yè)面調(diào)用顯示在網(wǎng)頁(yè)上。實(shí)現(xiàn)效果如圖3所示。

    圖3 Java調(diào)用Python繪圖頁(yè)面顯示效果

    通過JSON數(shù)據(jù)進(jìn)行參數(shù)傳遞的方式,可以簡(jiǎn)潔地將Java和Python在一個(gè)項(xiàng)目中結(jié)合使用,并且不改變Web項(xiàng)目原有的框架結(jié)構(gòu)。

    3 JSON在異構(gòu)Web平臺(tái)前后端的應(yīng)用

    異構(gòu)Web平臺(tái)同時(shí)要考慮前后端的異構(gòu)情況。前端如果通過JSP進(jìn)行開發(fā),就需要在前端頁(yè)面處理很多Java對(duì)象,增加了前端開發(fā)的工作量,也不便于前端頁(yè)面的獨(dú)立設(shè)計(jì)和開發(fā)。通過使用輕量級(jí)的JSON數(shù)據(jù)格式進(jìn)行前后端通信,可以大大降低前后端的耦合度,提升項(xiàng)目運(yùn)行效率。這里以教師用戶進(jìn)行實(shí)驗(yàn)室預(yù)約登記功能模塊對(duì)前后端異構(gòu)處理進(jìn)行說(shuō)明。教師用戶在前端頁(yè)面中提交實(shí)驗(yàn)室預(yù)約的請(qǐng)求信息,前端頁(yè)面對(duì)教師用戶提交的基本信息進(jìn)行正確性校驗(yàn)。如果校驗(yàn)通過,則將用戶的預(yù)約信息封裝為JSON對(duì)象發(fā)送給控制層進(jìn)行處理。教師用戶提交頁(yè)面如圖4所示。

    圖4 實(shí)驗(yàn)室預(yù)約登記頁(yè)面

    在Web平臺(tái)中,前后端之間可以有多種方式進(jìn)行JSON數(shù)據(jù)的通信[16],這里通過Ajax的post方法進(jìn)行JSON通信,同時(shí)對(duì)Ajax返回的執(zhí)行結(jié)果data進(jìn)行判斷,如果data為true,則表示實(shí)驗(yàn)室預(yù)約登記成功。在前端通過Ajax請(qǐng)求JSON數(shù)據(jù)的時(shí)候,需要加上時(shí)間戳new Date()以保證每次請(qǐng)求的數(shù)據(jù)都是最新數(shù)據(jù)。

    var url="roomOrder";

    var args={

    "teacher":teacher,

    "department":department,

    "weekstext":weekstext,

    "weeketext":weeketext,

    "daystext":daystext,

    "dayetext":dayetext,

    "classtext":classtext, "classetext":classetext,

    "coursename":coursename,

    "room":room,

    "classname":classname,

    "personnum":personnum,

    "username":username,

    "time":new Date()

    };

    $.post(url,args,function(data) {

    if(data=="true"){

    $("#notice").val("");

    $("#notice").html("提交成功");}

    });

    前端頁(yè)面提交JSON數(shù)據(jù)給Tomcat容器的控制層,控制層解析JSON對(duì)象封裝的參數(shù)信息后進(jìn)行業(yè)務(wù)邏輯判斷。如果判斷與原有數(shù)據(jù)庫(kù)記錄不沖突,則向數(shù)據(jù)庫(kù)添加新的實(shí)驗(yàn)室預(yù)約登記條目,并且返回預(yù)約登記是否成功的結(jié)果。實(shí)驗(yàn)室預(yù)約登記的數(shù)據(jù)流如圖5所示。

    圖5 實(shí)驗(yàn)室預(yù)約模塊數(shù)據(jù)流圖

    在實(shí)驗(yàn)室預(yù)約登記條目增加到數(shù)據(jù)庫(kù)之前,需要將登記信息和數(shù)據(jù)庫(kù)中的已有信息進(jìn)行比較判斷,如果該實(shí)驗(yàn)室已經(jīng)被占用則記錄增加不成功,這部分需要通過事務(wù)處理來(lái)執(zhí)行。在實(shí)驗(yàn)室預(yù)約記錄表中增加記錄的同時(shí),也向?qū)嶒?yàn)室使用情況記錄表中增加記錄,如果其中一個(gè)表的記錄增加失敗,則整個(gè)事務(wù)取消,并且返回執(zhí)行失敗的結(jié)果。實(shí)驗(yàn)室預(yù)約記錄如表1所示,實(shí)驗(yàn)室使用情況記錄如表2所示。

    表1 實(shí)驗(yàn)室預(yù)約記錄

    表2 實(shí)驗(yàn)室使用情況記錄

    教師用戶提交實(shí)驗(yàn)室預(yù)約登記信息后,可以通過前端頁(yè)面查看實(shí)驗(yàn)室使用情況??刂茖邮盏角岸隧?yè)面?zhèn)鬟f的查看請(qǐng)求后,在Servlet中通過模型層獲取實(shí)驗(yàn)室使用情況記錄表的查詢信息,并將查詢信息封裝為對(duì)象列表。得到對(duì)象列表后,Servlet將對(duì)象列表通過GSON對(duì)象進(jìn)行JSON序列化并傳遞給前端頁(yè)面。具體代碼如下:

    Gson gs=new Gson();

    String gsObject=gs.toJson(weekListNew);

    response.setContentType("text/html;charset=UTF-8 ");

    response.getWriter().print(gsObject);

    前端頁(yè)面收到執(zhí)行結(jié)果data也就是后端返回的JSON字符串后,要將data解析為JSON數(shù)組對(duì)象。得到JSON數(shù)組對(duì)象后,可以通過循環(huán)獲取具體的屬性值。

    $.post( "ajextRoomServ",{"roomnum":room,"time":new Date()},function(data) {

    jasondemo=$.parseJSON(data);//解析Json字符串

    if (jasondemo!=null) {

    for (var i=0, l=jasondemo.length;i

    for (var key in jasondemo[i]) {

    }

    }

    }

    });

    通過循環(huán)獲取到JSON對(duì)象的屬性值后,根據(jù)屬性值進(jìn)行頁(yè)面表格的內(nèi)容修改,得到每個(gè)實(shí)驗(yàn)室的使用情況。具體實(shí)現(xiàn)效果如圖6所示。

    4 結(jié)束語(yǔ)

    JSON數(shù)據(jù)作為一種獨(dú)立于平臺(tái)的數(shù)據(jù)格式,在實(shí)際項(xiàng)目中有非常突出的優(yōu)勢(shì),也能很好地與不同的開發(fā)語(yǔ)言以及各種數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。JSON數(shù)據(jù)不僅能降低前后端的耦合度,作為Web平臺(tái)前后端的通信方式,同時(shí)可以將Java和Python兩種語(yǔ)言結(jié)合起來(lái)。這將為日益智能化的Web開發(fā)帶來(lái)更加便利的解決方案。

    基于以上情況,對(duì)多種語(yǔ)言的異構(gòu)Web平臺(tái)進(jìn)行了研究,以JSON作為數(shù)據(jù)格式進(jìn)行前后端的獨(dú)立開發(fā)和數(shù)據(jù)通信,同時(shí)以JSON數(shù)據(jù)通信作為Java和Python兩種語(yǔ)言的集成方式。詳細(xì)描述了JSON數(shù)據(jù)在異構(gòu)Web平臺(tái)的使用方式,并給出了Java和Python進(jìn)行JSON通信的具體方法,以及前后端通過JSON通信的具體方法。目前獨(dú)立的數(shù)據(jù)格式逐漸成為主流,除了JSON之外,還有對(duì)于圖片和視頻更加友好的數(shù)據(jù)格式如GraghQL等。后續(xù)需要對(duì)新型數(shù)據(jù)格式進(jìn)行不斷研究。

    圖6 實(shí)驗(yàn)室使用情況頁(yè)面顯示

    猜你喜歡
    數(shù)據(jù)格式異構(gòu)頁(yè)面
    大狗熊在睡覺
    刷新生活的頁(yè)面
    試論同課異構(gòu)之“同”與“異”
    在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
    overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
    LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
    論子函數(shù)在C語(yǔ)言數(shù)據(jù)格式輸出中的應(yīng)用
    DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測(cè)繪數(shù)據(jù)為例
    在新興異構(gòu)SoCs上集成多種系統(tǒng)
    基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
    视频区欧美日本亚洲| 国产无遮挡羞羞视频在线观看| 亚洲av欧美aⅴ国产| 国产精品熟女久久久久浪| 日本a在线网址| 五月天丁香电影| 永久免费av网站大全| 亚洲欧美清纯卡通| 日韩,欧美,国产一区二区三区| 丰满迷人的少妇在线观看| 人妻一区二区av| 久久人人爽av亚洲精品天堂| 午夜福利一区二区在线看| av又黄又爽大尺度在线免费看| 国产成人系列免费观看| av网站在线播放免费| 欧美黑人精品巨大| 精品一区在线观看国产| 午夜福利,免费看| 日韩 欧美 亚洲 中文字幕| 汤姆久久久久久久影院中文字幕| 黑人巨大精品欧美一区二区mp4| 黄片大片在线免费观看| 蜜桃国产av成人99| 99热国产这里只有精品6| 国产深夜福利视频在线观看| 国产国语露脸激情在线看| 亚洲精品一区蜜桃| 18禁裸乳无遮挡动漫免费视频| 国产真人三级小视频在线观看| 欧美另类亚洲清纯唯美| 另类亚洲欧美激情| 久久人人爽av亚洲精品天堂| 国产精品九九99| 国产免费一区二区三区四区乱码| 99精国产麻豆久久婷婷| 国产精品熟女久久久久浪| 久久天躁狠狠躁夜夜2o2o| 亚洲成人免费电影在线观看| 69精品国产乱码久久久| 丝瓜视频免费看黄片| 18禁裸乳无遮挡动漫免费视频| 精品一品国产午夜福利视频| 国产高清videossex| 在线精品无人区一区二区三| 啦啦啦在线免费观看视频4| 亚洲人成77777在线视频| 99国产精品一区二区三区| 中国美女看黄片| 免费在线观看影片大全网站| 三级毛片av免费| 男人添女人高潮全过程视频| 亚洲精品国产色婷婷电影| 在线天堂中文资源库| 中文字幕精品免费在线观看视频| 纵有疾风起免费观看全集完整版| 亚洲精品第二区| 久久九九热精品免费| 国产深夜福利视频在线观看| 亚洲综合色网址| 亚洲久久久国产精品| 亚洲中文日韩欧美视频| 男人操女人黄网站| 一进一出抽搐动态| 久久久国产成人免费| 亚洲成人免费av在线播放| 亚洲精品国产色婷婷电影| 亚洲av电影在线进入| 亚洲精品美女久久av网站| 午夜影院在线不卡| 久久久久久人人人人人| 一边摸一边抽搐一进一出视频| 99久久99久久久精品蜜桃| 在线观看免费日韩欧美大片| 在线观看人妻少妇| 亚洲国产精品一区三区| 成年美女黄网站色视频大全免费| 韩国高清视频一区二区三区| 成人国语在线视频| 男女床上黄色一级片免费看| 国产精品久久久久成人av| 大香蕉久久成人网| 免费看十八禁软件| kizo精华| 久久亚洲精品不卡| 99国产极品粉嫩在线观看| 性色av一级| 99国产精品一区二区蜜桃av | 老司机深夜福利视频在线观看 | 亚洲欧美一区二区三区久久| 亚洲av国产av综合av卡| 亚洲国产毛片av蜜桃av| 日本av手机在线免费观看| 亚洲国产精品一区二区三区在线| 久久久久久久大尺度免费视频| 大片电影免费在线观看免费| 五月开心婷婷网| 久久久久国产精品人妻一区二区| 精品久久久久久电影网| 亚洲,欧美精品.| 老司机亚洲免费影院| 亚洲欧美成人综合另类久久久| 精品一区二区三卡| 午夜福利视频精品| 欧美日韩成人在线一区二区| 欧美在线黄色| 少妇猛男粗大的猛烈进出视频| 亚洲av国产av综合av卡| 一个人免费看片子| 91精品国产国语对白视频| 汤姆久久久久久久影院中文字幕| 国产xxxxx性猛交| 99久久综合免费| 青草久久国产| 男女无遮挡免费网站观看| 欧美日韩国产mv在线观看视频| 两性夫妻黄色片| 国产av一区二区精品久久| 亚洲自偷自拍图片 自拍| 女警被强在线播放| 99精品欧美一区二区三区四区| 下体分泌物呈黄色| 首页视频小说图片口味搜索| 国产三级黄色录像| 在线观看www视频免费| 欧美另类亚洲清纯唯美| 精品国产乱码久久久久久男人| 亚洲国产成人一精品久久久| 两个人看的免费小视频| 日韩欧美一区视频在线观看| 国产1区2区3区精品| 91国产中文字幕| 久久久欧美国产精品| 一边摸一边抽搐一进一出视频| 操美女的视频在线观看| 女人久久www免费人成看片| 热re99久久精品国产66热6| 伦理电影免费视频| 国产精品久久久久久人妻精品电影 | 如日韩欧美国产精品一区二区三区| 日韩欧美一区视频在线观看| 亚洲va日本ⅴa欧美va伊人久久 | 欧美中文综合在线视频| 亚洲av日韩在线播放| av在线老鸭窝| 国产亚洲精品一区二区www | 亚洲精品国产av成人精品| 国产精品秋霞免费鲁丝片| 欧美日本中文国产一区发布| 建设人人有责人人尽责人人享有的| 国产男女内射视频| 国产成人精品无人区| 天天躁狠狠躁夜夜躁狠狠躁| 午夜福利影视在线免费观看| 少妇人妻久久综合中文| 亚洲人成77777在线视频| 视频区欧美日本亚洲| 一区二区三区激情视频| 啦啦啦在线免费观看视频4| 久久精品亚洲熟妇少妇任你| 桃花免费在线播放| 国产精品av久久久久免费| 91成人精品电影| 欧美精品啪啪一区二区三区 | 水蜜桃什么品种好| 九色亚洲精品在线播放| 水蜜桃什么品种好| 又紧又爽又黄一区二区| 99国产精品99久久久久| 最新在线观看一区二区三区| 精品免费久久久久久久清纯 | 麻豆av在线久日| 久久中文看片网| 亚洲国产欧美日韩在线播放| 99国产精品99久久久久| 色婷婷av一区二区三区视频| 国内毛片毛片毛片毛片毛片| av在线老鸭窝| 黄色视频不卡| 一级片免费观看大全| 99香蕉大伊视频| 国产精品欧美亚洲77777| 亚洲欧美清纯卡通| 精品少妇一区二区三区视频日本电影| 十八禁高潮呻吟视频| 国产精品.久久久| 天天躁狠狠躁夜夜躁狠狠躁| 午夜免费观看性视频| 女人久久www免费人成看片| a在线观看视频网站| 日韩制服骚丝袜av| 黄片播放在线免费| 亚洲国产精品成人久久小说| www.自偷自拍.com| 男女床上黄色一级片免费看| 一级,二级,三级黄色视频| 成人三级做爰电影| 欧美精品啪啪一区二区三区 | 少妇 在线观看| 日韩欧美国产一区二区入口| 91成年电影在线观看| 欧美日韩一级在线毛片| 法律面前人人平等表现在哪些方面 | 老司机深夜福利视频在线观看 | 久久性视频一级片| 亚洲精品乱久久久久久| 午夜91福利影院| 久久精品国产a三级三级三级| 久久精品国产亚洲av香蕉五月 | 国产男女内射视频| 国产激情久久老熟女| 色播在线永久视频| 每晚都被弄得嗷嗷叫到高潮| 国产91精品成人一区二区三区 | 国产在线视频一区二区| 天天操日日干夜夜撸| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美日韩亚洲国产一区二区在线观看 | 欧美成人午夜精品| av在线老鸭窝| 国产精品一区二区在线观看99| 欧美日韩成人在线一区二区| 丰满人妻熟妇乱又伦精品不卡| 老司机影院成人| 乱人伦中国视频| 久久女婷五月综合色啪小说| 欧美少妇被猛烈插入视频| 久久精品国产a三级三级三级| 亚洲精品日韩在线中文字幕| 我要看黄色一级片免费的| www.999成人在线观看| 久久久久视频综合| 欧美+亚洲+日韩+国产| 亚洲国产欧美一区二区综合| 国产成人免费观看mmmm| 日韩中文字幕欧美一区二区| 香蕉丝袜av| 亚洲欧美日韩高清在线视频 | 久久久久久久久久久久大奶| 夜夜骑夜夜射夜夜干| 人人妻人人爽人人添夜夜欢视频| √禁漫天堂资源中文www| 国产在线一区二区三区精| 日韩大码丰满熟妇| 丝袜脚勾引网站| videosex国产| 一级毛片女人18水好多| 热99久久久久精品小说推荐| 熟女少妇亚洲综合色aaa.| 午夜精品国产一区二区电影| 日本av免费视频播放| 女性被躁到高潮视频| 五月开心婷婷网| 国产高清国产精品国产三级| 久久精品aⅴ一区二区三区四区| 老司机午夜十八禁免费视频| 天天躁夜夜躁狠狠躁躁| 丝袜人妻中文字幕| 午夜日韩欧美国产| 每晚都被弄得嗷嗷叫到高潮| 中文字幕人妻丝袜一区二区| 欧美精品av麻豆av| 欧美国产精品一级二级三级| 午夜福利影视在线免费观看| 久久国产精品男人的天堂亚洲| 老汉色av国产亚洲站长工具| 免费在线观看黄色视频的| 精品国产乱子伦一区二区三区 | 最近最新中文字幕大全免费视频| 少妇人妻久久综合中文| 亚洲av片天天在线观看| 一级毛片电影观看| 午夜91福利影院| av天堂在线播放| 女性生殖器流出的白浆| 欧美成狂野欧美在线观看| 人人妻人人添人人爽欧美一区卜| 午夜两性在线视频| 久久久久精品人妻al黑| 国产黄频视频在线观看| 一本—道久久a久久精品蜜桃钙片| 淫妇啪啪啪对白视频 | 18在线观看网站| 免费日韩欧美在线观看| 男女之事视频高清在线观看| 亚洲av成人一区二区三| 十八禁网站免费在线| www.精华液| 波多野结衣av一区二区av| 一进一出抽搐动态| 妹子高潮喷水视频| 黄片大片在线免费观看| a 毛片基地| 久久人妻熟女aⅴ| 午夜日韩欧美国产| 一个人免费在线观看的高清视频 | 另类亚洲欧美激情| 成人三级做爰电影| 男人添女人高潮全过程视频| 自拍欧美九色日韩亚洲蝌蚪91| 精品亚洲乱码少妇综合久久| 一区二区av电影网| 在线亚洲精品国产二区图片欧美| 国产熟女午夜一区二区三区| 不卡一级毛片| 成年人黄色毛片网站| 亚洲专区国产一区二区| 午夜福利在线观看吧| 在线 av 中文字幕| 高清黄色对白视频在线免费看| 亚洲av片天天在线观看| 老司机影院毛片| 一区二区三区四区激情视频| 国产一区二区三区综合在线观看| 日本av手机在线免费观看| 亚洲精品一二三| 亚洲欧洲日产国产| 精品人妻在线不人妻| 亚洲综合色网址| 波多野结衣av一区二区av| 日本vs欧美在线观看视频| 天天躁夜夜躁狠狠躁躁| 一区二区av电影网| 日本五十路高清| 女警被强在线播放| 亚洲av成人不卡在线观看播放网 | 亚洲国产毛片av蜜桃av| 老司机午夜福利在线观看视频 | 日韩欧美一区二区三区在线观看 | 亚洲黑人精品在线| 国产精品一区二区精品视频观看| 日韩人妻精品一区2区三区| 欧美激情久久久久久爽电影 | av网站在线播放免费| av在线老鸭窝| 久久久国产一区二区| 在线观看人妻少妇| av又黄又爽大尺度在线免费看| 国产亚洲av片在线观看秒播厂| 人人妻人人澡人人看| 亚洲国产欧美日韩在线播放| 美女主播在线视频| 嫩草影视91久久| 久久精品久久久久久噜噜老黄| 国产一级毛片在线| 久久久国产成人免费| 美女视频免费永久观看网站| 欧美日韩福利视频一区二区| 91字幕亚洲| 日本一区二区免费在线视频| 国产在线一区二区三区精| 亚洲欧美成人综合另类久久久| 18禁观看日本| 午夜老司机福利片| 精品亚洲成a人片在线观看| 精品国产一区二区久久| 丝瓜视频免费看黄片| 热99re8久久精品国产| 成年av动漫网址| 久久精品久久久久久噜噜老黄| 亚洲国产成人一精品久久久| 国产精品秋霞免费鲁丝片| 日韩制服丝袜自拍偷拍| 性少妇av在线| 免费黄频网站在线观看国产| 午夜激情久久久久久久| 欧美变态另类bdsm刘玥| 自线自在国产av| 久久精品久久久久久噜噜老黄| 亚洲一码二码三码区别大吗| 777久久人妻少妇嫩草av网站| 99国产精品一区二区蜜桃av | 中文字幕精品免费在线观看视频| 亚洲七黄色美女视频| 夜夜骑夜夜射夜夜干| 大香蕉久久网| 亚洲精品国产一区二区精华液| 美女国产高潮福利片在线看| 99国产精品免费福利视频| 日本撒尿小便嘘嘘汇集6| 国产精品一二三区在线看| 五月开心婷婷网| 色婷婷av一区二区三区视频| 在线观看www视频免费| 视频区欧美日本亚洲| 男女国产视频网站| 在线观看人妻少妇| 亚洲av欧美aⅴ国产| 啦啦啦在线免费观看视频4| 男人添女人高潮全过程视频| 99香蕉大伊视频| 欧美国产精品va在线观看不卡| 亚洲精品久久成人aⅴ小说| 欧美成狂野欧美在线观看| 777久久人妻少妇嫩草av网站| av超薄肉色丝袜交足视频| 秋霞在线观看毛片| 男人操女人黄网站| 黑人巨大精品欧美一区二区蜜桃| 精品久久久久久电影网| 日本欧美视频一区| 高清在线国产一区| 国产欧美日韩精品亚洲av| 日日摸夜夜添夜夜添小说| 人人妻人人澡人人爽人人夜夜| 在线观看舔阴道视频| 肉色欧美久久久久久久蜜桃| 老司机在亚洲福利影院| 欧美日韩成人在线一区二区| 中文字幕制服av| 精品一区二区三区四区五区乱码| 亚洲欧美色中文字幕在线| 2018国产大陆天天弄谢| 欧美午夜高清在线| 精品国内亚洲2022精品成人 | 悠悠久久av| 在线观看免费高清a一片| 国产在线视频一区二区| 大片免费播放器 马上看| 亚洲九九香蕉| 9191精品国产免费久久| 性色av乱码一区二区三区2| 手机成人av网站| 麻豆av在线久日| 久久久久久免费高清国产稀缺| 99精品久久久久人妻精品| 自线自在国产av| 在线av久久热| 日韩欧美一区二区三区在线观看 | 69精品国产乱码久久久| 精品人妻一区二区三区麻豆| 中国美女看黄片| 久久国产精品影院| 久久香蕉激情| 免费黄频网站在线观看国产| 欧美另类一区| 日本黄色日本黄色录像| 女人爽到高潮嗷嗷叫在线视频| 亚洲欧美一区二区三区黑人| 国产视频一区二区在线看| tocl精华| 久久精品国产a三级三级三级| 久久久久视频综合| kizo精华| 午夜福利视频精品| 亚洲国产精品一区二区三区在线| 国产精品国产三级国产专区5o| 亚洲一卡2卡3卡4卡5卡精品中文| 国产亚洲av片在线观看秒播厂| 欧美黄色淫秽网站| 纯流量卡能插随身wifi吗| 纵有疾风起免费观看全集完整版| 精品卡一卡二卡四卡免费| 成年人免费黄色播放视频| 制服人妻中文乱码| 久久精品aⅴ一区二区三区四区| 成人国语在线视频| 亚洲精品国产av蜜桃| 中亚洲国语对白在线视频| 亚洲精品久久午夜乱码| 丝袜喷水一区| 欧美日韩成人在线一区二区| 亚洲国产欧美网| 国产精品久久久人人做人人爽| 18禁黄网站禁片午夜丰满| 国产日韩欧美视频二区| 成年美女黄网站色视频大全免费| 精品高清国产在线一区| 国产精品久久久人人做人人爽| 人人妻人人澡人人看| 777久久人妻少妇嫩草av网站| 日韩三级视频一区二区三区| 亚洲第一欧美日韩一区二区三区 | 青春草亚洲视频在线观看| 国产日韩欧美在线精品| 99国产精品一区二区蜜桃av | 动漫黄色视频在线观看| 中文字幕人妻丝袜一区二区| 欧美日韩视频精品一区| 国产成人av激情在线播放| 亚洲av成人不卡在线观看播放网 | 视频区图区小说| 精品少妇内射三级| 91国产中文字幕| 国产精品欧美亚洲77777| 国产精品1区2区在线观看. | a级片在线免费高清观看视频| 色精品久久人妻99蜜桃| 亚洲欧洲精品一区二区精品久久久| 国产视频一区二区在线看| 久久av网站| 99精品久久久久人妻精品| 国产av国产精品国产| 国产精品影院久久| 免费观看人在逋| 日本猛色少妇xxxxx猛交久久| 国产精品1区2区在线观看. | 亚洲精品美女久久久久99蜜臀| 日本av免费视频播放| 免费一级毛片在线播放高清视频 | 亚洲人成77777在线视频| 十分钟在线观看高清视频www| 亚洲国产日韩一区二区| av福利片在线| 欧美乱码精品一区二区三区| 日本欧美视频一区| 视频在线观看一区二区三区| 人人澡人人妻人| 久久精品国产a三级三级三级| 性色av乱码一区二区三区2| 午夜久久久在线观看| 一区二区三区激情视频| 国产三级黄色录像| 日韩大片免费观看网站| 老司机在亚洲福利影院| 午夜福利,免费看| 日本wwww免费看| 欧美精品啪啪一区二区三区 | 亚洲av日韩精品久久久久久密| 夜夜夜夜夜久久久久| 精品福利观看| 国产欧美日韩精品亚洲av| 日本撒尿小便嘘嘘汇集6| 老熟妇乱子伦视频在线观看 | 国产男女超爽视频在线观看| 老司机福利观看| 欧美日韩黄片免| 国产精品自产拍在线观看55亚洲 | 国产精品国产三级国产专区5o| 亚洲精品粉嫩美女一区| 中文字幕色久视频| 少妇被粗大的猛进出69影院| 婷婷丁香在线五月| 欧美在线黄色| 中文欧美无线码| 一区二区三区乱码不卡18| 少妇被粗大的猛进出69影院| 中文字幕人妻熟女乱码| 免费日韩欧美在线观看| 亚洲男人天堂网一区| 国产成人免费观看mmmm| 亚洲精品第二区| 国产成人精品在线电影| 欧美中文综合在线视频| 三上悠亚av全集在线观看| 国产福利在线免费观看视频| 淫妇啪啪啪对白视频 | 国产精品国产av在线观看| 别揉我奶头~嗯~啊~动态视频 | 精品少妇黑人巨大在线播放| 日韩大片免费观看网站| 一区二区三区激情视频| 国产有黄有色有爽视频| 9色porny在线观看| 国产一区有黄有色的免费视频| 色94色欧美一区二区| 国产精品欧美亚洲77777| 嫩草影视91久久| 免费看十八禁软件| 欧美乱码精品一区二区三区| 亚洲成人国产一区在线观看| 桃花免费在线播放| 另类精品久久| 99国产精品一区二区蜜桃av | 久久精品国产a三级三级三级| 男女边摸边吃奶| 国产亚洲精品一区二区www | 欧美日韩福利视频一区二区| 欧美日韩av久久| 国产成人精品在线电影| 搡老乐熟女国产| 日本91视频免费播放| 后天国语完整版免费观看| 老司机影院成人| 久久精品人人爽人人爽视色| 欧美大码av| 亚洲国产看品久久| 精品一区二区三区四区五区乱码| 一边摸一边做爽爽视频免费| 欧美激情高清一区二区三区| 啦啦啦中文免费视频观看日本| 久久精品国产亚洲av香蕉五月 | av不卡在线播放| 美女高潮到喷水免费观看| 国产片内射在线| 天天影视国产精品| 99久久国产精品久久久| 一区二区三区激情视频| 亚洲av欧美aⅴ国产| 国产在视频线精品| av有码第一页| 精品久久久精品久久久| 性色av乱码一区二区三区2| 国产老妇伦熟女老妇高清| 国产福利在线免费观看视频| a级毛片黄视频| 日韩人妻精品一区2区三区| 777久久人妻少妇嫩草av网站| 亚洲国产欧美一区二区综合| 九色亚洲精品在线播放| 亚洲av国产av综合av卡| 午夜两性在线视频| 亚洲一卡2卡3卡4卡5卡精品中文| 热re99久久精品国产66热6| 国产黄色免费在线视频| 欧美日韩精品网址| 国产成人精品久久二区二区91| 99九九在线精品视频| 日本黄色日本黄色录像| 淫妇啪啪啪对白视频 | 国产一区二区三区在线臀色熟女 | 午夜老司机福利片| 久久久久久久大尺度免费视频| 国产色视频综合| 日韩中文字幕欧美一区二区|