東北大學(xué),數(shù)據(jù)庫開發(fā)技術(shù),課件,第章創(chuàng)建Web服務(wù)器程序_第1頁
東北大學(xué),數(shù)據(jù)庫開發(fā)技術(shù),課件,第章創(chuàng)建Web服務(wù)器程序_第2頁
東北大學(xué),數(shù)據(jù)庫開發(fā)技術(shù),課件,第章創(chuàng)建Web服務(wù)器程序_第3頁
東北大學(xué),數(shù)據(jù)庫開發(fā)技術(shù),課件,第章創(chuàng)建Web服務(wù)器程序_第4頁
東北大學(xué),數(shù)據(jù)庫開發(fā)技術(shù),課件,第章創(chuàng)建Web服務(wù)器程序_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第8章

創(chuàng)建Web服務(wù)器程序本章要點(diǎn)8.1Internet概述8.2Web服務(wù)器程序簡介8.3ISAPI編程8.4CGI編程8.5ISAPIDLL和CGI之間的相互轉(zhuǎn)化8.6網(wǎng)絡(luò)通訊本章要點(diǎn) 在Internet概述的基礎(chǔ)上,對(duì)Web服務(wù)器程序進(jìn)行闡述。

結(jié)合實(shí)例說明了ISAPI編程。

結(jié)合實(shí)例說明了CGI編程。

返回本章首頁8.1Internet概述8.1.1統(tǒng)一資源定位器8.1.2超文本標(biāo)記語言8.1.3HTTP服務(wù)器活動(dòng)返回本章首頁8.1.1統(tǒng)一資源定位器 URL對(duì)網(wǎng)絡(luò)資源的位置提供了一種抽象的識(shí)別方法,并用這種方法給資源定位。這里的資源是指Internet上可以被訪問的任何對(duì)象,包括文件、文檔、圖像、聲音等等,以及與Internet相連的任何形式的數(shù)據(jù)。URL是一個(gè)字符串,它的一般格式如下:協(xié)議://主機(jī)名/腳本文件名/路徑信息?查詢條件。返回本節(jié)8.1.2超文本標(biāo)記語言HTML文檔通過標(biāo)記(Tag)和屬性(Attribute)對(duì)超文本的語義進(jìn)行描述。HTML雖然本質(zhì)上并不是編程語言,但它卻是在開發(fā)HTML文檔時(shí)必須遵守的一套嚴(yán)格而且簡明易懂的語法規(guī)則。也就是說,如果一個(gè)文檔是基于HTML標(biāo)準(zhǔn)的,則可以解釋某些標(biāo)記的含義。返回本節(jié)8.1.3HTTP服務(wù)器活動(dòng)Web瀏覽器和Web服務(wù)器之間通過HTTP協(xié)議進(jìn)行通信。HTTP請(qǐng)求分為兩種類型,一種是GET請(qǐng)求,另一種是POST請(qǐng)求。Web服務(wù)器接收到客戶請(qǐng)求之后,將根據(jù)配置信息執(zhí)行一定數(shù)量的活動(dòng)。當(dāng)Web服務(wù)器應(yīng)用程序完成客戶請(qǐng)求之后。必須構(gòu)造一個(gè)HTML頁面或其他MIME內(nèi)容,并傳輸給客戶。返回本節(jié)8.2Web服務(wù)器程序簡介 8.2.1Web服務(wù)器程序的種類8.2.2Web服務(wù)器應(yīng)用程序的邏輯結(jié)構(gòu)8.2.3調(diào)試服務(wù)器程序返回本章首頁8.2.1Web服務(wù)器程序的種類Delphi6中可以創(chuàng)建的Web服務(wù)器程序包括:

CGI程序、Win-CGI程序和ISAPI(MicrosoftServerDLL)、NSAPI(NetscapeServerDLL)。返回本節(jié)8.2.2Web服務(wù)器應(yīng)用程序的邏輯結(jié)構(gòu)

WebServerWebApplicationWebModule(Dispatcher)WebRequestWebResponseActionItemContentRroducerContentRroducerContentRroducerActionItem圖8-1Web服務(wù)器程序的邏輯結(jié)構(gòu)返回本節(jié)8.2.3調(diào)試服務(wù)器程序 不同類型的Web服務(wù)器程序,需要在支持相應(yīng)的服務(wù)器程序的服務(wù)器上進(jìn)行。調(diào)試ISAPI或NSAPI類型的程序,則要求在支持這種服務(wù)器程序的服務(wù)器上進(jìn)行??梢栽诜?wù)器中編寫一定的代碼,作為用戶請(qǐng)求直接調(diào)用這些服務(wù)器程序生成的DLL;而調(diào)試CGI和WinCGI類型的服務(wù)器程序就比較困難一些,需要在服務(wù)器上執(zhí)行這些程序,并且需要編寫代碼作為用戶請(qǐng)求的信息。返回本節(jié)8.3ISAPI編程 8.3.1返回靜態(tài)頁面 8.3.2返回動(dòng)態(tài)頁面 8.3.3接收用戶輸入的ISAPIDLL8.3.4一個(gè)完整的Web數(shù)據(jù)庫應(yīng)用程序返回本章首頁8.3.1返回靜態(tài)頁面 其步驟(具體制作如圖8-2~8-10所示):1.新建項(xiàng)目2.程序框架3.創(chuàng)建ActionItem4.為ActionItem編寫代碼5.設(shè)置服務(wù)器6.編譯ISAPI動(dòng)態(tài)鏈接庫程序8.調(diào)試ISAPI動(dòng)態(tài)鏈接庫圖8-2選擇WebServerApplication圖8-3選擇生成Web服務(wù)器程序的類型圖8-4ISAPI動(dòng)態(tài)鏈接庫的框架圖8-元5濟(jì)A聲ct具io貴n些Ed匙it泊or對(duì)話縮慧框圖8-禍6使用肺對(duì)象煌監(jiān)視縫器為Ac舊ti怨on遼It管em設(shè)置團(tuán)屬性圖8-浙7選擇樓存放IS濾AP科I動(dòng)態(tài)益鏈接隙庫的國目錄圖8-懂8設(shè)置sc泛ri最pt堵s目錄廈為可換執(zhí)行步的圖8-浙9設(shè)置妄編譯附后的檢文件霸后綴犁名為dl悼l圖8-運(yùn)10瀏覽胖器中墻顯示療由IS青AP且I動(dòng)態(tài)談鏈接悅庫生板成的籌靜態(tài)HT放ML頁面返回救本節(jié)8.放3.脫2返回糟動(dòng)態(tài)令頁面其具雄體的綁步驟煉如下筍:(1詳)在pr而oj蠢ec欄tl項(xiàng)目止文件僅中選皆擇We玻b猶Mo層du虹le部件敬,激然活A(yù)c末ti搞on維Ed止it傻or對(duì)話仗框。(2汗)在Ac疑ti違on擋Ed梨it投or對(duì)話喊框新鳳添加帽一個(gè)Ac軌ti暮on載It廊em。(3祖)將第寶二個(gè)Ac衰ti勵(lì)on隸It筒em命名醒為Dy佳na凈mi禿cd準(zhǔn)ll泛,P院at消hI折nf材o屬性喘設(shè)置傷為Da掉te讓Ti葛me。(4維)為新冷建的Ac侮ti渡on必It壇em的On歡Ac葡ti念on事件選編寫功代碼襯。圖8-橫11瀏覽念器中筑顯示皇由IS驚AP刑I動(dòng)態(tài)容鏈接彼庫生役成的惡動(dòng)態(tài)HT腐ML頁面返回聚本節(jié)8.枯3.棉3接收徐用戶反輸入特的IS告AP細(xì)I母DL蜓L1.On室Ac賽ti輸on事件翼的參擋數(shù)(主要孟屬性危如表8-箏1)2.現(xiàn)創(chuàng)建朝用戶絲式輸入漫的HT波ML頁面感(創(chuàng)建哄好的HT忙ML頁面途如圖8-尼12所示治)3.踢添加Pa旱ge歇Pr堅(jiān)od饒uc姜er控件山(具體蒸含義梢如表8-紀(jì)2)4.允為項(xiàng)濾目文抹件新夜建一能個(gè)Ac扁ti牧on傘It普em5.詠調(diào)試吊程序靠(如圖8-墨13掌~8濁-1浩5所示照)表8-貸1Tw奇eb儲(chǔ)Re搞qu釣es對(duì)象勒的主叛要屬編性屬性屬性的作用Query由GET方法請(qǐng)求獲得全部參數(shù)組成的字符串QueryFields一個(gè)經(jīng)過分解的查詢字段Content由POST方法請(qǐng)求獲得全部參數(shù)組成的字符串ContentFields一個(gè)經(jīng)過分解的Content字段圖8-冠12創(chuàng)建閣好的菊用戶干輸入駕界面表8-棋2Me數(shù)th凱od綿Ty牧pe方法僵的參拌數(shù)值賴及其雖含義參數(shù)值具體含義MtGet采用GET方法接收用戶請(qǐng)求MtPost采用POST方法接收用戶請(qǐng)求MtPut用Content的值代替URL屬性確定的資源的用戶請(qǐng)求MtHead要求獲得有關(guān)HTTP服務(wù)器響應(yīng)信息種類的請(qǐng)求MtAny任何其他形式的用戶請(qǐng)求圖8-士13在用弊戶輸喝入界封面中冒輸入弟數(shù)據(jù)圖8-品14使用GE晚T方式跑得到獅的服著務(wù)器蜘響應(yīng)回信息圖8-稈15使用PO蓋ST方式指得到眼的服稀務(wù)器云響應(yīng)稱信息返回球本節(jié)8.東3.食4一個(gè)步完整兇的We衛(wèi)b數(shù)據(jù)每庫應(yīng)顫用程1.仁將數(shù)怕?lián)砺蹲鳛榫臃?wù)勻器程務(wù)序的餓響應(yīng)跪信息桂(如棟圖8-頭16所示劈燕)2.惱增加勒查詢干功能(Qu首er墊y控件野和Qu接er徒y(tǒng)T糖ab屋le腹Pr介od而uc脹er控件鎖的屬嚷性設(shè)芳置如倆表8-月3所示)圖8-炮16作為穗服務(wù)傭器響昏應(yīng)信急息輸游出的揪數(shù)據(jù)朗表表8-肯3控件穩(wěn)的屬罷性設(shè)些置控

件屬性設(shè)置Query1DatabaseName:DBDEMOSQueryTableProducer1Query:Query1

RowAttributes.Align:haCenter

TableAttributes.Border:1返回飲本節(jié)8.唯4紹C陽GI編程8.穩(wěn)4.慣1一個(gè)濕時(shí)間摧顯示科程序8.侵4.恒2命令循行處亡理8.雄4.腫3膏C迎GI環(huán)境聚變量8.黨4.砍4歇C紛GI數(shù)據(jù)洪庫編雪程返回練本章煤首頁8.偽4.侵1一個(gè)毯時(shí)間轎顯示簡程序單擊宜“Pr判oj買ec梁t”主菜垂單下付的“Re辯mo煉ve糾f興ro味m飼Pr園oj周ec彼t”選項(xiàng)料,將un隱it單元繪從項(xiàng)滾目文鉛件中幣移走抽,然柔后按練下Ct姓rl豎+F罷12鍵,寨選擇尋項(xiàng)目架文件監(jiān),使膨它在隨代碼辯編輯趨器中允顯示管出來剝。在競(jìng)它的Pr冬og械ra抹m保留厭字后休加入豈一個(gè)盞{¥AP辭PT聰YP辭E委CO芳NS澡OL無E}編輯丟器指堤令,瞇將它器轉(zhuǎn)換殿成控每制臺(tái)捎應(yīng)用確程序冊(cè),最岸后刪綱除大烤部分咱項(xiàng)目預(yù)源代丘碼,放如果銷直接茄在De設(shè)lp鍬hi環(huán)境問中運(yùn)麻行該公程序閃,則浩它會(huì)咳打開居一個(gè)揀終端啞窗口袋,并顆輸出wr慢it飄el重n語句招的內(nèi)命容,牛如圖8-蹦19所示徑。圖8-莊19在De憤lp豬hi環(huán)境耐中執(zhí)剖行的盈結(jié)果返回從本節(jié)8.辛4.出2命令確行處水理CG得I應(yīng)用養(yǎng)程序撞接收泊用戶令輸入爸的方遵法有腐兩種愿:(1喂)使虜用它脅的命申令行弱參數(shù)罩識(shí)別果頁面梨(激誓活應(yīng)宅用程寒序)頌的UR政L,而UR懸L通常駱在應(yīng)爪用程悼序名批后面解包括籌附加畜的參紋數(shù)。(2滑)系帽統(tǒng)使砍用一盈系列漏環(huán)境瘋變量幻玉向CG約I應(yīng)用贊程序睜進(jìn)一凍步傳翠遞信改息。幕在Wi耐n_溫CG棋I中,天同樣潔通過IN供I文件藥來傳餃遞,濟(jì)而沒基有使臟用環(huán)蔥境變遍量。返回殖本節(jié)8.廟4.刊3候C死GI環(huán)境周變量表8-雨4穿C崖GI環(huán)境慨變量環(huán)境變量含義SERVER_NAMEWeb服務(wù)器主機(jī)名SERVER_PROTOCOLHTTP請(qǐng)求的協(xié)議SERVER_SOFTWAREWeb服務(wù)器軟件的名稱和版本GATEWAY_INTERFACECGI支持的版本REQUEST_METHOD請(qǐng)求使用的對(duì)象方法,可以是GET或者POSTDOCUMENT_ROOT目錄主機(jī)文檔或者Web服務(wù)器PATH_TRANSLATES與服務(wù)器有關(guān)的物理路徑HTTP_PEFERER激活CGI應(yīng)用程序的文檔URLSCRIPT_NAME被執(zhí)行的CGI應(yīng)用程序相關(guān)的路徑(基于服務(wù)器地址)PATH_INFO向CGI應(yīng)用程序傳遞的路徑,位置在應(yīng)用程序名和查詢字符串之間QUERY_STRING向程序傳遞的查詢,當(dāng)請(qǐng)求對(duì)象的方法是GET時(shí),該字符串用問號(hào)追加到URL中返回牙本節(jié)8.模4.勻4鄙C潑GI數(shù)據(jù)至庫編須程(1炊)依酷次單匆擊“Fi秀le妖”→肉“N眾ew肥”→菊“O機(jī)th烈er振”選項(xiàng)廢,然封后在Bu期si盯ne艇ss頁面毯中選嘩擇DB辜W坐eb億A盆pp芝li宿ca貓ti椅on年W饞iz知ar西d,如圖8-絮24所示重。單奮擊“OK蜂”按鈕素,則緣瑞出現(xiàn)隆選擇We括b數(shù)據(jù)促庫應(yīng)舅用程刮序類愈型對(duì)菜話框薦,如腳圖8-您25所示阻。(2通)單件擊“Ne刻xt辯”按鈕排,將億出現(xiàn)貴選擇菊數(shù)據(jù)陜表對(duì)團(tuán)話框辯,如峽圖8-立26所示由。選嬌擇好木數(shù)據(jù)啄表后干,單臺(tái)擊“Ne遺xt稍”按鈕偏,將真出現(xiàn)確選擇盆要顯季示的盈字段御對(duì)話質(zhì)框,單如圖8-嗎27所示另。選擇寄完需卡要顯委示的狹字段職后,彩單擊事“Ne俘xt螺”按鈕嗎,則刑出現(xiàn)弓設(shè)置We晶b頁面先對(duì)話遙框,功如圖8-予28所示棕。(3笑)所略有的順設(shè)置接都完債成后莫,則籃出現(xiàn)及確認(rèn)急對(duì)話痰框,們?nèi)鐖D8-際29所示率。單綠擊“Fi貿(mào)ni檢sh撓”按鈕苦,就壘完成竊了創(chuàng)猛建一在個(gè)We看b項(xiàng)目每文件海的工本作。向?qū)Ш盀槲抑鷤兩C成了We醋bM謙od橫ul寒e1模塊線,其距中加鉆入了旨三個(gè)慈控件裕如圖8-筒30所示光。編譯死并運(yùn)劫行該宰程序市,則侮在瀏菊覽器哄中顯演示的炸結(jié)果報(bào)如圖8-樣31所示際。圖8-礎(chǔ)24利用DB思W挺eb面A迫pp省li招ca臨ti離on伍W鋼iz窮ar暴d向?qū)q創(chuàng)建免項(xiàng)目曾文件圖8-隊(duì)25選擇We明b數(shù)據(jù)汪庫應(yīng)填用程惑序類萬型圖8-菊26選擇慚數(shù)據(jù)舅表圖8-揀27選擇褲要顯芽示的價(jià)字段圖8-允28設(shè)置We填b頁面圖8-迷29完成諒創(chuàng)建扎項(xiàng)目婦文件圖8-穩(wěn)30向?qū)茏詣?dòng)介生成杠的We瓦bM瓣od蔑ul晨e1模塊圖8-都31顯示唉結(jié)果返回米本節(jié)8.幸5齡I沾SA腎PI笑D絨LL和CG適I之間可的相雅互轉(zhuǎn)(1嶼)將川編寫其好并行且調(diào)售試成臭功的pr默oj夾ec假t5洗.d拜ll創(chuàng)建魚成一緞個(gè)模等板,咳以便棉在Wi糾n_夫CG差I(lǐng)中使湯用(陳如圖8-登32所示孝)。(2澆)關(guān)輔閉pr嚴(yán)oj蔥ec滾t5項(xiàng)目影,在條主菜倍單中肉選擇中“Ne漠w”選項(xiàng)政,創(chuàng)司建一封個(gè)新箭的項(xiàng)理目,揚(yáng)指定己為Wi上n_府CG鎖I。(3曾)新建殖項(xiàng)目肥后,De壁lp榨hi將自乞動(dòng)產(chǎn)解生一雁個(gè)缺暈省的We罵b駁Mo輔du圓le控件釘,在攀加入燙模板陪后再如將它翼刪除維(如瓜圖8-掛33所示四)。返回恥本章飾首頁圖8-閉33加入pr應(yīng)oj彈ec萌t5膝dl劇l模板圖8-核32為模槽板設(shè)茶置屬炭性返回譽(yù)本節(jié)8.用6網(wǎng)絡(luò)吹通訊禍——Wi埋nd諷ow踩s編So車ck磁et湊sWi糖nd勞ow皆s下網(wǎng)厭絡(luò)編灑程的鍛規(guī)范庸-Wi膽nd接ow劣s鴿So紐奉ck罵et棄s。這套哲規(guī)范立是Wi都nd州ow控s下得免到廣膛泛應(yīng)餡用的飾、開濤放的撤、支發(fā)持多勿種協(xié)艱議的楊網(wǎng)絡(luò)匆編程撫接口帳。從刻19恩91患年的魚1.拜0版戰(zhàn)到1冷99塑5年遣的2左.0互.8姻版,訪經(jīng)過漸不斷鹽完善群并在In旺te菌l、機(jī)Mi憲cr駁os拐of蹲t、棗Su請(qǐng)n、譜SG獸I、撐In濁fo眼rm樂ix娃、N恭ov彈el嘉l等公拖司的銳全力語支持干下,接已成跌為Wi逢nd序ow展s網(wǎng)絡(luò)同編程狼的事盲實(shí)上調(diào)的標(biāo)昌準(zhǔn)。返回齡本章疼首頁Wi繁nd嫩ow加s世So觸ck慘et猴s規(guī)范妥定義臭并記漫錄了耗如何且使用AP穩(wěn)I與In吹te銹rn森et協(xié)議岡族(IP叼S,通常吃我們涂指的色是TC疲P/煙IP段)連接靠,尤呼其要稍指出搞的是柱所有繭的Wi逆nd些ow宋s鞭So永ck載et綢s實(shí)現(xiàn)呈都支照持流示套接挨口和數(shù)數(shù)據(jù)距報(bào)套巷接口揀.限應(yīng)用樣程序旁調(diào)用Wi河nd銹ow窗s榴So幟ck吩et唉s的AP霉I實(shí)現(xiàn)確相互愁之間卻的通反訊。Wi津nd蛇ow堵s各So圓ck沿et蠅s又利隊(duì)用下笑層的清網(wǎng)絡(luò)謀通訊芒協(xié)議舉功能醋和操默作系提統(tǒng)調(diào)善用實(shí)幸現(xiàn)實(shí)挪際的乒通訊赴工作酒。它缸們之峽間的偷關(guān)系意如圖8-著33。8.該6.喊1臣Wi舞nd模ow覆s溫So明ck賴et絲式s規(guī)范圖8-深33應(yīng)用蠟程序閑與wi疤nd偉ow隊(duì)s膛so跡ck哨et裕s關(guān)系紅圖一個(gè)櫻在建不立分喜布式岸應(yīng)用透時(shí)最理常用耐的范覺例便偷是客曲戶機(jī)烈/服帶務(wù)器槍模型始。在中這種宴方案搖中客崗戶應(yīng)鍋用程住序向擠服務(wù)眼器程建序請(qǐng)辮求服蒼務(wù)。一個(gè)火服務(wù)湯程序喊通常師在一絹個(gè)眾遞所周劍知的爐地址山監(jiān)聽饞對(duì)服襯務(wù)的爽請(qǐng)求剛,也滑就是允說,敏服務(wù)挖進(jìn)程瘡一直恥處于彼休眠喉狀態(tài)演,直但到一雞個(gè)客復(fù)戶對(duì)孟這個(gè)疾服務(wù)此的地溝址提俗出了味連接及請(qǐng)求決。在捉這個(gè)羅時(shí)刻給,服漁務(wù)程勤序被勉“驚諷醒”寧并且王為客秘戶提油供服賽務(wù)-巡壽對(duì)客點(diǎn)戶的王請(qǐng)求舅作出化適當(dāng)念的反脖應(yīng)。歷這一炕請(qǐng)求苗/相召應(yīng)的僚過程牲可以粉簡單釘?shù)挠猛鑸D8-寄34表示恩。8.賀6.再2客戶奴機(jī)/嫩服務(wù)姥器模拘型圖8-令34客戶話機(jī)/碧服務(wù)強(qiáng)器模須型服務(wù)府端組渣件:8.扯6.綠3漠D創(chuàng)el女ph域i中Wi寄nd建ow甘s槽So洗ck胖et組件TU削dp輕So件ck肆etTT汪cp刑Se膚rv葬erTS毛er廢ve將rS滑oc嚼ke紙t客戶宰端組宋件:TT凍cp喝Cl當(dāng)ie斗ntTC營li旨en誤tS使oc佩ke禮tTU駐dp田So倚ck淹et8.濫6.夢(mèng)4服務(wù)觀端組暮件使海用每個(gè)so則ck央et服務(wù)翼端控銅件對(duì)賀象代衣表一掉個(gè)服駐務(wù)端胃點(diǎn),括它可肅以對(duì)孤一個(gè)掘或多篩個(gè)so賴ck戒et客戶棕端控片件對(duì)啦象的毫活動(dòng)崇進(jìn)行誼監(jiān)聽錦,并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論