亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于四層架構(gòu)J2ME移動(dòng)課表查詢系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)

        2011-01-04 02:07:26徐炳文
        關(guān)鍵詞:課表服務(wù)器端客戶端

        徐炳文

        (廣東嶺南職業(yè)技術(shù)學(xué)院 電子信息工程學(xué)院,廣州 510663)

        基于四層架構(gòu)J2ME移動(dòng)課表查詢系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)

        徐炳文

        (廣東嶺南職業(yè)技術(shù)學(xué)院 電子信息工程學(xué)院,廣州 510663)

        隨著手機(jī)的智能化程度越來(lái)越高,為方便教師與學(xué)生利用手機(jī)隨時(shí)隨地對(duì)教務(wù)課表信息進(jìn)行查詢,提出一種基于四層架構(gòu)的J2ME移動(dòng)課表查詢系統(tǒng).系統(tǒng)劃分為客戶層、Web服務(wù)層、數(shù)據(jù)業(yè)務(wù)層和數(shù)據(jù)存儲(chǔ)層進(jìn)行開(kāi)發(fā)與設(shè)計(jì).對(duì)系統(tǒng)的實(shí)現(xiàn)過(guò)程提出了一些改進(jìn)方法,豐富了軟件系統(tǒng)開(kāi)發(fā)的構(gòu)架周期理論,有效解決了原有教務(wù)課表系統(tǒng)只能利用校園網(wǎng)在計(jì)算機(jī)上進(jìn)行存儲(chǔ)與查詢的缺點(diǎn).

        四層架構(gòu);J2ME;課表;查詢

        隨著GPRS技術(shù)的成熟與3G時(shí)代的到來(lái),手機(jī)的智能化程度和擴(kuò)展性隨之提高,手機(jī)的應(yīng)用也越來(lái)越廣泛,這就需要開(kāi)發(fā)越來(lái)越多的手機(jī)應(yīng)用軟件系統(tǒng)來(lái)滿足用戶的需求.近幾年來(lái),高校教務(wù)部門(mén)的信息化建設(shè)取得了長(zhǎng)足的發(fā)展,幾乎所有高校都使用計(jì)算機(jī)信息系統(tǒng)來(lái)管理課表[1].但軟件系統(tǒng)在使用中仍存在一些不足,如教務(wù)排課系統(tǒng)形成的課表只能利用校園網(wǎng)在計(jì)算機(jī)上進(jìn)行存儲(chǔ)與查詢,且不能滿足師生進(jìn)行移動(dòng)實(shí)時(shí)無(wú)線查詢課表信息的需要.本研究提出一種基于四層架構(gòu)的J2ME移動(dòng)課表查詢系統(tǒng).J2ME是JAVA 2的一個(gè)組成部分,專為機(jī)頂盒和移動(dòng)電話等嵌入式消費(fèi)電子設(shè)備提供JAVA語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的JAVA AP[2].J2ME程序可以在PC機(jī)上開(kāi)發(fā)和仿真運(yùn)行,然后很容易地部署到目標(biāo)機(jī)上,從而降低其開(kāi)發(fā)、測(cè)試和發(fā)布的操作難度和成本.

        1 J2ME課表查詢系統(tǒng)架構(gòu)設(shè)計(jì)

        開(kāi)發(fā)一個(gè)能夠通過(guò)移動(dòng)手機(jī)對(duì)教務(wù)課表信息隨時(shí)隨地按需要進(jìn)行查詢的信息系統(tǒng)需要設(shè)計(jì)出移動(dòng)手機(jī)終端查詢教務(wù)系統(tǒng)課表信息的方式.移動(dòng)手機(jī)的數(shù)據(jù)傳輸與有線網(wǎng)絡(luò)的數(shù)據(jù)傳輸方式不同,既需要軟件支持也需要硬件設(shè)備支持.在開(kāi)發(fā)時(shí)客戶端的手機(jī)數(shù)據(jù)傳輸方式采用GPRS方式,服務(wù)器端通過(guò)增加一個(gè)無(wú)線接口硬件設(shè)備來(lái)接收移動(dòng)手機(jī)發(fā)來(lái)的查詢請(qǐng)求,然后通過(guò)有線網(wǎng)絡(luò)連接服務(wù)器.軟件的設(shè)計(jì)與實(shí)現(xiàn)主要分4大模塊:客戶層的移動(dòng)終端、Web服務(wù)層的教務(wù)課表服務(wù)器端、數(shù)據(jù)業(yè)務(wù)層的教務(wù)課表服務(wù)器端和數(shù)據(jù)存儲(chǔ)層的課表信息數(shù)據(jù)庫(kù)系統(tǒng).客戶層的移動(dòng)終端用于接收用戶的查詢輸入和顯示查詢結(jié)果.Web服務(wù)層與數(shù)據(jù)業(yè)務(wù)層的教務(wù)課表服務(wù)器端主要負(fù)責(zé)接收來(lái)自移動(dòng)手機(jī)終端的查詢請(qǐng)求,通過(guò)JDBC連接數(shù)據(jù)存儲(chǔ)層的后臺(tái)課表數(shù)據(jù)庫(kù),并把查詢結(jié)果傳回客戶端的手機(jī).數(shù)據(jù)存儲(chǔ)層的課表信息數(shù)據(jù)庫(kù)部分用于保存課表信息.根據(jù)系統(tǒng)需求分析,設(shè)計(jì)出四層架構(gòu)J2ME課表查詢系統(tǒng)的整體層次架構(gòu)如圖1所示.

        圖1 J2ME課表查詢系統(tǒng)層次架構(gòu)Figure 1 Architecture of J2ME school timetable query system

        2 J2ME課表查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2.1 J2ME課表查詢系統(tǒng)的算法設(shè)計(jì)

        本系統(tǒng)對(duì)應(yīng)分成4部分進(jìn)行開(kāi)發(fā)設(shè)計(jì):客戶層的J2ME客戶端、Web服務(wù)層的J2EE課表服務(wù)器端、數(shù)據(jù)業(yè)務(wù)層的J2EE課表服務(wù)器端和數(shù)據(jù)存儲(chǔ)層的后臺(tái)課表信息數(shù)據(jù)庫(kù).具體J2ME-J2EE課表查詢系統(tǒng)算法流程如圖2所示.

        圖2 J2ME課表查詢系統(tǒng)算法流程圖Figure 2 Algorithm of J2ME school timetable query system

        2.2 客戶層多線程訪問(wèn)控制的設(shè)計(jì)與實(shí)現(xiàn)

        移動(dòng)客戶端屬于客戶層,采用J2ME去開(kāi)發(fā)設(shè)計(jì),是系統(tǒng)用戶輸入查詢信息和顯示查詢結(jié)果的用戶界面.J2ME移動(dòng)客戶端程序發(fā)出課表信息查詢請(qǐng)求并連接到J2EE服務(wù)器端程序,J2EE服務(wù)器經(jīng)過(guò)一系列的處理后把查詢結(jié)果數(shù)據(jù)集傳回給移動(dòng)客戶端.在設(shè)計(jì)實(shí)現(xiàn)時(shí),客戶層的移動(dòng)終端使用HttpConnection打開(kāi)與Web層服務(wù)器的網(wǎng)絡(luò)連接,然后使用setRequestMethod(HttpConnection.POST)方法向服務(wù)器傳遞教師工號(hào)或?qū)W生班別號(hào)和第幾學(xué)期等信息.網(wǎng)絡(luò)連接成功后,使用open-DataOutputStream()方法和write.UTF()方法發(fā)送查詢請(qǐng)求內(nèi)容給J2EE課表服務(wù)器,最后使用DataInputStream()方法和read.UTF()方法接收J(rèn)2EE課表服務(wù)器傳回的課表查詢信息數(shù)據(jù)集.

        客戶層移動(dòng)終端的實(shí)現(xiàn)主要是開(kāi)發(fā)MIDlet,使同樣的服務(wù)能夠被很好地移植到不同的移動(dòng)客戶端[3].由于系統(tǒng)為J2ME-J2EE開(kāi)發(fā)的C/S工作模式,客戶層的移動(dòng)客戶端程序在運(yùn)行時(shí)由于同樣需要執(zhí)行網(wǎng)絡(luò)連接,如HTTP連接、UI調(diào)度等操作,可能會(huì)出現(xiàn)因競(jìng)爭(zhēng)臨界資源而導(dǎo)致的死鎖現(xiàn)象.為了防止多個(gè)移動(dòng)客戶端訪問(wèn)網(wǎng)絡(luò)時(shí)的并發(fā)多線程出現(xiàn)死鎖,需要把其中一個(gè)線程設(shè)計(jì)為獨(dú)立線程[4].當(dāng)移動(dòng)客戶端程序想訪問(wèn)網(wǎng)絡(luò)時(shí),可通過(guò)調(diào)用notify()方法來(lái)喚醒訪問(wèn)網(wǎng)絡(luò)的線程,當(dāng)訪問(wèn)完成退出網(wǎng)絡(luò)后,可通過(guò)調(diào)用wait()方法釋放“鎖旗標(biāo)”使該線程進(jìn)入等待狀態(tài),則另外的線程能夠調(diào)用notify()方法進(jìn)入網(wǎng)絡(luò).客戶層的并發(fā)多線程訪問(wèn)網(wǎng)絡(luò)控制的設(shè)計(jì)如圖3所示.

        圖3 客戶層多線程訪問(wèn)網(wǎng)絡(luò)控制Figure 3 Client layer multi-threaded access to the network control

        在客戶層并發(fā)多線程訪問(wèn)網(wǎng)絡(luò)控制中的P(S)與V(S)是2條原語(yǔ)操作,其中S為信號(hào)量,P(S)操作表示是否允許該線程訪問(wèn)網(wǎng)絡(luò),V(S)操作表示訪問(wèn)完成后退出網(wǎng)絡(luò),在具體編程語(yǔ)言中可以轉(zhuǎn)換為if()或while()語(yǔ)句實(shí)現(xiàn).為了方便客戶層多線程訪問(wèn)控制,把客戶層移動(dòng)終端訪問(wèn)網(wǎng)絡(luò)時(shí)的線程技術(shù)設(shè)計(jì)成一個(gè)獨(dú)立的CommandThread類,主要部分實(shí)現(xiàn)如下:

        2.3 Web服務(wù)層與數(shù)據(jù)業(yè)務(wù)層的設(shè)計(jì)與實(shí)現(xiàn)

        J2EE服務(wù)器由Web服務(wù)層和數(shù)據(jù)業(yè)務(wù)層構(gòu)成.Web服務(wù)層使用Servlet容器處理來(lái)自移動(dòng)客戶端的請(qǐng)求,然后再將這些請(qǐng)求發(fā)往數(shù)據(jù)業(yè)務(wù)層的企業(yè)級(jí)服務(wù)器,使用EJBs進(jìn)行會(huì)話處理請(qǐng)求,并通過(guò)JDBC連接到數(shù)據(jù)存儲(chǔ)層的后臺(tái)課表數(shù)據(jù)庫(kù).課表數(shù)據(jù)庫(kù)處理完SQL查詢后形成的查詢結(jié)果數(shù)據(jù)集被發(fā)往數(shù)據(jù)業(yè)務(wù)層的企業(yè)級(jí)服務(wù)器并提交給Web服務(wù)器,由Web服務(wù)器再傳回給客戶層的移動(dòng)終端上顯示.J2EE課表服務(wù)器實(shí)現(xiàn)時(shí)使用的是Servlet,因此需要設(shè)計(jì)一個(gè)ServletAPP類.在ServletAPP類中使用doGet()和doPost()方法與J2EE課表服務(wù)器網(wǎng)頁(yè)交互信息,使用destroy()方法清除資源,對(duì)于移動(dòng)終端程序的查詢請(qǐng)求則使用Request.getInputStream()方法接收,另外使用readUTF()方法從輸入流中讀取“教師工號(hào)或?qū)W生班別號(hào)”和“學(xué)期信息”等信息.Web服務(wù)器端的輸出流向移動(dòng)終端傳回查詢處理結(jié)果信息,使用response.getOutputStream()方法處理響應(yīng),然后使用writeUTF()函數(shù)輸出返回字符串的數(shù)據(jù)流,通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給移動(dòng)終端接收.Web服務(wù)層與數(shù)據(jù)業(yè)務(wù)層主要部分實(shí)現(xiàn)如下:

        (1)服務(wù)器端使用doGet(),doPost()和destroy()方法來(lái)實(shí)現(xiàn)接收移動(dòng)終端的網(wǎng)絡(luò)連接請(qǐng)求.主要部分實(shí)現(xiàn)如下:

        (2)服務(wù)器接收來(lái)自客戶端的請(qǐng)求,對(duì)服務(wù)器來(lái)說(shuō)是輸入流.服務(wù)器端接收的移動(dòng)終端查詢請(qǐng)求信息主要是教師工號(hào)ID或者學(xué)生班別號(hào)ID以及學(xué)期信息等.這些信息對(duì)于服務(wù)器來(lái)說(shuō)是輸入流,服務(wù)器端接收查詢課表信息請(qǐng)求處理的主要部分實(shí)現(xiàn)如下:

        (3)服務(wù)器處理移動(dòng)終端發(fā)來(lái)的查詢請(qǐng)求后形成查詢結(jié)果數(shù)據(jù)集輸出流傳送給客戶端.主要部分實(shí)現(xiàn)如下:

        2.4 數(shù)據(jù)存儲(chǔ)層的設(shè)計(jì)與實(shí)現(xiàn)

        教務(wù)課表信息存儲(chǔ)在數(shù)據(jù)存儲(chǔ)層的后臺(tái)課表數(shù)據(jù)庫(kù),服務(wù)器接收到客戶端的查詢請(qǐng)求后通過(guò)JDBC連接后臺(tái)課表數(shù)據(jù)庫(kù).JDBC連接數(shù)據(jù)庫(kù)主要分為3步工作:與數(shù)據(jù)庫(kù)建立起連接、向數(shù)據(jù)庫(kù)發(fā)出查詢請(qǐng)求和把處理結(jié)果從數(shù)據(jù)庫(kù)中取出來(lái).為了實(shí)現(xiàn)這些工作,本系統(tǒng)設(shè)計(jì)一個(gè)訪問(wèn)存儲(chǔ)課表信息的后臺(tái)Access數(shù)據(jù)庫(kù)公共類TimetableQuery和4個(gè)表:CourseTB表、StudentTB表、TeacherTB表和ClassroomTB表.其中,CourseTB表存儲(chǔ)與課程有關(guān)的信息,包括課程ID(主鍵)、課程N(yùn)ame、上課班別、講授教師、上課時(shí)間和上課課室等.StudentTB表存儲(chǔ)有關(guān)班別的課表信息,包括班別ID(主鍵)、上課課室、上課時(shí)間、上課課程和講授教師等.TeacherTB表存儲(chǔ)有關(guān)教師的課表信息,包括教師ID(主鍵)、上課課室、上課時(shí)間、上課課程和上課班別等.ClassroomTB表存儲(chǔ)有關(guān)課室的課表信息,包括課室ID(主鍵)、上課課程、上課時(shí)間、講授教師和上課班別等.CourseTB表、StudentTB表、TeacherTB表和ClassroomTB表在開(kāi)發(fā)設(shè)計(jì)上基本相似,下面只給出CourseTB表的設(shè)計(jì),如表1所示.

        表1 CourseTB表Table 1 CourseTB table

        課表信息存儲(chǔ)在排課系統(tǒng)形成的課表數(shù)據(jù)庫(kù)中,因此需要設(shè)計(jì)程序訪問(wèn)后臺(tái)的數(shù)據(jù)庫(kù).JDBC是JAVA數(shù)據(jù)庫(kù)連接技術(shù)的API的簡(jiǎn)寫(xiě),它允許用戶從JAVA應(yīng)用程序中訪問(wèn)任何表格化的數(shù)據(jù)源.JDBC除提供更寬范圍的SQL數(shù)據(jù)庫(kù)的連接外,還允許用戶訪問(wèn)其他數(shù)據(jù)庫(kù)(如Access)和電子表格的數(shù)據(jù)源等.本系統(tǒng)采用Access數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù)的工作是通過(guò)JDBC的API來(lái)實(shí)現(xiàn)的.主要部分實(shí)現(xiàn)如下:

        (1)注冊(cè)數(shù)據(jù)庫(kù)JDBC驅(qū)動(dòng):

        (2)建立與數(shù)據(jù)存儲(chǔ)層Timetable Query數(shù)據(jù)庫(kù)的連接:(3)對(duì)課表進(jìn)行查詢可以按教師工號(hào)、學(xué)生班別號(hào)、課程號(hào)、教室號(hào)或?qū)W期等信息進(jìn)行,以下僅以教師工號(hào)進(jìn)行課表查詢?yōu)槔?/p>

        (4)把查詢的課表信息結(jié)果取出來(lái):

        //定義一個(gè)空的字符串變量,把查詢結(jié)果取出來(lái)

        3 J2ME課表查詢系統(tǒng)主要界面的實(shí)現(xiàn)

        由于移動(dòng)手機(jī)受到存儲(chǔ)容量非常小、屏幕小和按鍵簡(jiǎn)單等資源條件的限制,要開(kāi)發(fā)能夠處理大量信息的、交互式的軟件,將使移動(dòng)手機(jī)產(chǎn)生頻繁屏幕轉(zhuǎn)換,運(yùn)行軟件力不從心.結(jié)合J2ME-J2EE的特點(diǎn),系統(tǒng)分別使用Alert類、Form類、TextField類、List類、Ticker類和Command類等.其中使用Alert類在軟件啟動(dòng)時(shí)顯示軟件版權(quán),用戶通過(guò)在Form對(duì)象中放置的TextField對(duì)象輸入查詢請(qǐng)求的教師工號(hào)ID或?qū)W生班別號(hào)ID等信息,再通過(guò)List對(duì)象選擇查詢請(qǐng)求的學(xué)期信息,這些信息均作為客戶層移動(dòng)終端查詢請(qǐng)求的內(nèi)容輸入,處理結(jié)果形成的數(shù)據(jù)集在另外一個(gè)Form對(duì)象中.使用Ticker類顯示軟件幫助信息,使用Command對(duì)象類添加按鈕.

        下載移動(dòng)客戶端程序到手機(jī)上并裝載啟動(dòng)后,在請(qǐng)按提示輸入查詢信息欄中輸入教師工號(hào)、學(xué)生班別號(hào)、課程號(hào)或課室號(hào),然后選擇第幾學(xué)期的查詢請(qǐng)求內(nèi)容,按“發(fā)送”按鈕把查詢請(qǐng)求信息傳遞到J2EE課表服務(wù)器端,經(jīng)過(guò)一系列處理后傳回查詢結(jié)果數(shù)據(jù)集.使用教師工號(hào)查詢課表信息的主要操作界面如圖4所示.

        圖4 J2ME課表查詢系統(tǒng)主要界面Figure 4 Main interfaces of J2ME schedule query system

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

        測(cè)試與試用表明系統(tǒng)具有運(yùn)行穩(wěn)定、易于擴(kuò)展和安裝簡(jiǎn)便等良好性能.四層架構(gòu)J2ME移動(dòng)課表查詢系統(tǒng)的實(shí)現(xiàn)豐富了軟件系統(tǒng)開(kāi)發(fā)的構(gòu)架周期理論,設(shè)計(jì)過(guò)程中提出了一些改進(jìn)方法,極大地方便了學(xué)生和老師對(duì)課表信息的查詢.J2ME憑借其開(kāi)放的特性占據(jù)了絕對(duì)的移動(dòng)軟件開(kāi)發(fā)市場(chǎng),商業(yè)市場(chǎng)中其他類似的應(yīng)用十分廣泛,非常值得改造推廣.此外,移動(dòng)軟件開(kāi)發(fā)的難點(diǎn)之一就是要開(kāi)發(fā)能夠處理大量交互信息、具有頻繁屏幕變換且不需要占用很大存儲(chǔ)空間的系統(tǒng),但目前移動(dòng)手機(jī)的存儲(chǔ)容量有限,屏幕小,要實(shí)現(xiàn)這些技術(shù)還需要進(jìn)一步探索.

        [1] 楊淑瑩,張樺.“數(shù)字圖像處理”教學(xué)軟件的開(kāi)發(fā)設(shè)計(jì)[J].天津師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009,29(4):76-80.

        [2] 許立春,陳勇,李傳之.基于J2ME-GPRS學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(23):5415-5418.

        [3] 金英,李澤鵬,張晶.多線程Java程序安全行為模型的靜態(tài)檢查方法[J].計(jì)算機(jī)學(xué)報(bào),2009,32(9):1856-1868.

        [4] 池瑞楠.基于J2ME和J2EE的移動(dòng)電子商務(wù)系統(tǒng)研究[J].微計(jì)算機(jī)信息,2007,23(12):60-62,79.

        Design and implementation of a four-layer J2ME-based mobile phone on school timetable query system

        XUBingwen
        (College of Electronic and Information Engineering,Guangdong Lingnan Institute of Technology,Guangzhou 510663,China)

        A four-layer J2ME-based mobile phone on school timetable query system is presented for the convenience of teachers and students to query schedule at all times and places with the increasing intelligence and scalability of mobile phone.The four-layer J2ME-based mobile phone on school timetable query system is designed and implemented in accordance with four layers:client layer,Web service layer,data services layer and data storage layer.By using some improved method the architecture of software system development cycle theory is enriched in the implementation process of system.The system effectively overcomes the shortcomings of the original system that can only use the campus network to storage and query.

        four-layer;J2ME;school timetable;query

        TP311.5

        A

        1671-1114(2011)02-0059-05

        2011-01-28

        徐炳文(1977—),男,高級(jí)工程師,講師,主要從事計(jì)算機(jī)管理軟件開(kāi)發(fā)方面的研究.

        (責(zé)任編校 紀(jì)翠榮)

        猜你喜歡
        課表服務(wù)器端客戶端
        學(xué)生出招解決”日課牌“問(wèn)題
        如果我是校長(zhǎng)
        運(yùn)用VBA自動(dòng)生成子課程表
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        在Windows中安裝OpenVPN
        各地區(qū)學(xué)生課表
        留學(xué)生(2015年6期)2015-07-02 02:36:20
        客戶端空間數(shù)據(jù)緩存策略
        亚洲精品久久麻豆蜜桃| 色播亚洲视频在线观看| 99亚洲男女激情在线观看| 无码人妻丰满熟妇啪啪7774| 久久久久久久一线毛片| 一区二区三区四区四色av| 日韩少妇人妻精品中文字幕| 欧美xxxxx高潮喷水麻豆| 国产成人精品午夜二三区波多野| 嗯啊哦快使劲呻吟高潮视频| 99国产精品无码专区| 看中文字幕一区二区三区| 真实夫妻露脸爱视频九色网| 高潮潮喷奶水飞溅视频无码| 亚洲 暴爽 av人人爽日日碰| 午夜福利视频男同女同| 国产av精品久久一区二区| 国产一区二区三区激情视频| 欧美成人aaa片一区国产精品| 国产99久久亚洲综合精品| 美女熟妇67194免费入口| 人妻少妇中文字幕久久hd高清| 亚洲精品人成中文毛片| 国产精品伦一区二区三级视频| 无码精品一区二区免费AV| 日韩精品极品免费观看| 在线精品国产亚洲av麻豆| 亚洲国产成人一区二区精品区 | 国产成人无码精品久久久露脸| av天堂久久天堂av色综合| 国产三级视频在线观看视主播| 国产愉拍91九色国产愉拍| 亚洲熟妇无码久久精品| 日出水了特别黄的视频| 日韩成人精品日本亚洲| 国产精品又爽又粗又猛又黄 | 激性欧美激情在线| 亚洲精品理论电影在线观看| 麻豆成人久久精品二区三区91 | 欧美国产精品久久久乱码| 久久精品熟女不卡av高清|