正在播放国产精品白丝在线,8888jiz国产视频,天堂在线最新版www亚洲,亚洲一区二区精品观看,午夜性刺激免费看视频在线 ,yw岛国无码高清,中文字幕av无码一区电影dvd ,国产AV九九,九月丁香婷婷综合在线,国产农民工嫖妓老女人

          首頁 > 實(shí)用范文 > 辦公文秘 > 文秘寫作 > java畢業(yè)論文范文5篇正文

          《java畢業(yè)論文范文5篇》

          時間:

          Java語言是編程語言史上的一個里程碑,在此基礎(chǔ)上形成的Java Applet技術(shù)是綜合了計算機(jī)圖形學(xué)、多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)的新技術(shù),近年來在很多領(lǐng)域得到了快速的發(fā)展和應(yīng)用。本文是小編為大家整理的java的畢業(yè)論文范文,僅供參考。

          java畢業(yè)論文范文篇一:

          學(xué)生姓名 _______ _

          學(xué) 號 ___________

          專 業(yè) ____ 班 級 ____ 指導(dǎo)教師

          200 年 月

          1.Java語言的出現(xiàn)

          自從1946年世界上第一臺電子計算機(jī)問世以來,計算模式的發(fā)展經(jīng)歷了三個階段:集中計算模式、分散計算模式和網(wǎng)絡(luò)計算模式。Internet的出現(xiàn),為在網(wǎng)絡(luò)計算模式下的科學(xué)計算和信息處理提供了良好平臺。然而,要充分利用網(wǎng)絡(luò)計算模式的功能與效益,平臺的運(yùn)行環(huán)境是個制約因素,而Java語言和Java技術(shù)則是解決這一問題的最佳途徑。

          1991年,SUN公司的Jame Gosling,Bill Joe等人試圖為電視、烤箱等家用電器開發(fā)一種交互式的軟件系統(tǒng),這種應(yīng)用需要的是那種小而可靠的系統(tǒng),它能夠移植,并且實(shí)時性好,適用于網(wǎng)絡(luò)分布環(huán)境。流行的C++是自然的選擇。不過,開發(fā)過程中遇到的許多難以克服的困難使他們意識到必須徹底解決問題了,最終,開發(fā)成功了一個名為Oak的軟件,此中蘊(yùn)藏著Java的原型,當(dāng)時,并未引起人們的注意。1994年下半年,隨著Internet的迅猛發(fā)展,環(huán)球信息網(wǎng)WWW的快速增長,促進(jìn)了Java語言研制的進(jìn)展,使得它逐漸成為Internet上倍受歡迎的開發(fā)與編程語言。1995年5月Java正式問世,一些著名的計算機(jī)公司紛紛購買了Java語言的使用權(quán),如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java語言被美國著名雜志PC Magazine評為1995年十大優(yōu)秀科技產(chǎn)品(計算機(jī)類僅此一項(xiàng)入選)之一,隨之大量出現(xiàn)了用Java編寫的軟件產(chǎn)品,受到工業(yè)界的重視與好評,認(rèn)為“Java是八十年代以來計算機(jī)界的一件大事”。微軟總裁比爾〃蓋茨在認(rèn)真觀察了一段時間后,確認(rèn)“Java是長時間以來最卓越的程序設(shè)計語言”,并確定微軟整個軟件的開發(fā)戰(zhàn)略從PC單機(jī)時代向以網(wǎng)絡(luò)為中心的計算時代轉(zhuǎn)移,而購買Java則是他的重大戰(zhàn)略決策的實(shí)施部署。

          因此,Java的誕生必將對整個計算機(jī)產(chǎn)業(yè)發(fā)生深遠(yuǎn)的影響,對傳統(tǒng)的計算模型提出了新的挑戰(zhàn)。SUN Microsystem公司的總裁Scott McNealy認(rèn)為:Java對Internet和WWW開辟了一個嶄新的時代。

          有人預(yù)言:Java將成為網(wǎng)絡(luò)上的“世界語”,今后,用其他語言編寫的軟件統(tǒng)統(tǒng)都要用Java語言來改寫。

          2.Java語言的主要特點(diǎn)

          Java語言是一種適用于網(wǎng)絡(luò)編程的語言,它的基本結(jié)構(gòu)與C++極為相似,但卻簡單得多。它集成了其它一些語言的特點(diǎn)和優(yōu)勢,又避開了它們的不足之處。它的主要特點(diǎn)如下:

          2.1簡單性

          Java與C++相比,不再支持運(yùn)算符重載、多級繼承及廣泛的自動強(qiáng)制等易混淆和較少使用的特性,而增加了內(nèi)存空間自動垃圾收集的功能,復(fù)雜特性的省略和實(shí)用功能的增加使得開發(fā)變得簡單而可靠。

          簡單化的另一個方面是Java的系統(tǒng)非常小,其基本解釋和類支持部分只占40KB,附加的基本標(biāo)準(zhǔn)庫和線程支持也只需增加175KB。因此,Java應(yīng)用軟件能在相當(dāng)小的系統(tǒng)之上獨(dú)立工作。

          2.2平臺獨(dú)立性

          這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗(yàn),再解釋成不同的機(jī)器碼來執(zhí)行,即“Java虛擬機(jī)”的思想,“屏蔽”了具體的“平臺環(huán)境”特性要求,使得只要能支持Java虛擬機(jī),就可運(yùn)行各種Java程序。

          2.3面向?qū)ο蟮募夹g(shù)

          面向?qū)ο?O-O)的技術(shù)是近年來軟件開發(fā)中用得最為普遍的程序設(shè)計方法,,它通過把客觀事物進(jìn)行分類組合、參數(shù)封裝、用成員變量來描述對象的性質(zhì)、狀態(tài),而用方法(成員函數(shù))來實(shí)現(xiàn)其行為和功能。O-O技術(shù)具有繼承性、封裝性、多態(tài)性等眾多特點(diǎn),Java在保留這些優(yōu)點(diǎn)的基礎(chǔ)上,又具有動態(tài)聯(lián)編的特性,更能發(fā)揮出面向?qū)ο蟮膬?yōu)勢。

          2.4多線程

          多線程機(jī)制使應(yīng)用程序能并行執(zhí)行,Java有一套成熟的同步原語 ,保證了對共享數(shù)據(jù)的正確操作.通過使用多線程,程序設(shè)計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易實(shí)現(xiàn)網(wǎng)絡(luò)上實(shí)時的交互行為。

          2.5動態(tài)性

          Java的設(shè)計使它適合于一個不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實(shí)例變量而不會影響用戶程序的執(zhí)行。并且Java通過接口來支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。

          2.6安全性

          Java有建立在公共密鑰技術(shù)基礎(chǔ)上的確認(rèn)技術(shù).指示器語義的改變將使應(yīng)用程序不能再去訪問以前的數(shù)據(jù)結(jié)構(gòu)或是私有數(shù)據(jù),大多數(shù)病毒也就無法破壞數(shù)據(jù).因而,用Java可以構(gòu)造出無病毒、安全的系統(tǒng)。

          Java語言除上述主要特點(diǎn)外,還有高性能、分布性、強(qiáng)大性、解釋性、可移植性等,此處不再 贅述。

          3.Java語言的發(fā)展

          Java自正式問世以來已經(jīng)歷了四年的歷程,時間雖短,發(fā)展極快。一年一度在美國舊金山召開的世界Java One語言開發(fā)者大會(Java One Developer Conference)盛況空前正說明了這一點(diǎn)。四年中每年的Java One大會,既是了解Java最新技術(shù)動態(tài)、應(yīng)用成果和下一步發(fā)展趨勢的最好場所,又是推動下一年Java快速發(fā)展的重要動力。首屆Java One大會于1996年召開,各屆簡況如下:

          1996年5月29-31日,第一屆,出席會議者6500余人,來自工業(yè)界的超過一半。有人評價說:“這是近年計算機(jī)界最光輝的一次盛會”。工業(yè)界相當(dāng)看好Java語言,認(rèn)為它的使用將會引起一場軟件革命:從軟件的設(shè)計風(fēng)格、設(shè)計方法、設(shè)計目標(biāo)到設(shè)計過程,都會產(chǎn)生徹底的變革,“甚至?xí)淖兇诵乔虻纳罘绞健薄?1997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應(yīng)用開發(fā)迅速起步。

          1998年3月24-27日,第三屆,出席會議者14000余人(注冊人數(shù)),注冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機(jī)公司都參加了。展廳內(nèi)設(shè)300多個展臺,先后舉行了90場專題討論會,每場參加的人數(shù)從千人至五六千人不等。會議的主題是:通過Java的培訓(xùn)來帶動Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動信息產(chǎn)業(yè)的進(jìn)步。會議展出的內(nèi)容大致如下:

          Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio 等;

          企業(yè)信息管理解決方案軟件,如:EJB(Enterprise JavaBeans);

          基于Java技術(shù)的信息家電,如:機(jī)頂盒、Java電話等;

          個人信息綜合服務(wù)(Java戒指)、社會信息綜合查詢亭(Kiosk);

          電子商務(wù)軟件、智能卡、Java Card API 等;

          網(wǎng)絡(luò)計算環(huán)境下的Java服務(wù)器軟件、遠(yuǎn)程方法調(diào)用(RMI)、基于Java技術(shù)的移動計算設(shè)備;

          JMS(Java Message Service)用于出版、票據(jù)訂閱的軟件;

          JOS(Java OS)、基于Java技術(shù)的NC和Java Station。

          1999年6月15-18日,第四屆,出席會議者達(dá)20000人,300多家廠商參展,舉辦400多場技術(shù)講座,555名演講者慷慨陳詞,精彩紛呈。這次大會的主要特點(diǎn)是:

          Java框架結(jié)構(gòu)被梳理清晰

          本次JavaOne大會上,Sun公司的一個重大舉措就是公布了Java平臺的最新架構(gòu)。重新定義的Java平臺以Java 2為核心,由面向企業(yè)和服務(wù)器市場的企業(yè)版Java 2(J2EE)、面向傳統(tǒng)PC客戶機(jī)市場的標(biāo)準(zhǔn)版Java 2(J2SE)和面向信息電器等后PC終端設(shè)備市場的Micro版Java 2(J2ME)三大部分組成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和Java Massage Service組成。而J2ME則是原有的Personal Java、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結(jié)構(gòu)中的內(nèi)容都是已有的,但這樣重新定義和組合,使得Java平臺的概念簡單化,從而變得易于理解,更適合于進(jìn)行市場推廣。

          2)重點(diǎn)放在企業(yè)平臺

          隨著Internet的飛速發(fā)展,企業(yè)計算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務(wù)器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特點(diǎn),使得它在開發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨(dú)厚的優(yōu)勢,面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個標(biāo)準(zhǔn)的Java計算平臺:界面一致、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應(yīng)用系統(tǒng)的開發(fā)。

          3) 加速后PC時代的進(jìn)程

          計算機(jī)的發(fā)展創(chuàng)造了Internet,但是計算機(jī)現(xiàn)在卻不是訪問Internet的唯一方式。正在出現(xiàn)的信息化、智能化的消費(fèi)類電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類進(jìn)入Internet的新門戶。信息終端的多元化預(yù)示著所謂后PC(post-PC)時代的到來。消費(fèi)類的信息終端量大面廣,是典型的瘦客戶機(jī),其本身的資源和能力不能與PC相比,但必須更加智能化,并對服務(wù)器端的管理提出了更高的要求。而Java平臺恰恰滿足了這種要求。本次大會推出的Kjava虛擬機(jī)能運(yùn)行在16以上的微處理器上,占用內(nèi)存少,人們可以隨心所欲,在資源有限的設(shè)備上方便地開發(fā)出各種各樣的應(yīng)用,直接運(yùn)行在不同的消費(fèi)類或其它電子設(shè)備上;而Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動識別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。大力推進(jìn)Jini的發(fā)展是Sun公司加速后PC時代進(jìn)程的一項(xiàng)重要策略。

          4)應(yīng)用系統(tǒng)異彩紛呈

          與上屆大會一樣,展出內(nèi)容有:應(yīng)用工具、應(yīng)用系統(tǒng)、信息家電等。特別在實(shí)時系統(tǒng)開發(fā)方面,以IBM為首開發(fā)出了應(yīng)用于工業(yè)實(shí)時環(huán)境的Java嵌入系統(tǒng),展現(xiàn)出Java在工業(yè)領(lǐng)域的廣闊應(yīng)用前景。

          Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個軟件開發(fā)商加入了Java陣營,1億個Java最終用戶,幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書籍(自Java問世4年來,平均每天出版一本)。這真是IT業(yè)界的盛事!

          IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實(shí)驗(yàn)室,集聚了2500余名技術(shù)人員,全天侯24小時進(jìn)行全方位開發(fā);芯片巨人Intel提出“抓住時機(jī),占領(lǐng)Java陣地”!決心使Intel芯片系統(tǒng)成為開發(fā)Java應(yīng)用運(yùn)行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務(wù)器端Java的市場”;作為Java發(fā)明者的Sun公司,堅(jiān)持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針,通過對Java的“研究椘攔罈構(gòu)造棽饈詶推廣”的過程,從而占領(lǐng)市場。此外,HP、Oracle、Apple、Sybase、Netscape、Informi_、3Com、Motorola等公司均是Sun的堅(jiān)強(qiáng)同盟。

          在我國,Java的引進(jìn)與開發(fā)起步早,發(fā)展水平基本與世界同步。目前,Sun公司已在中國建成了由5個授權(quán)中心、20多個Internet/Intarnet Java解決方案中心和10所Java大學(xué)、若干培訓(xùn)中心組成的三級結(jié)構(gòu)。全面推動Java在中國的普及、應(yīng)用、研究、開發(fā),培養(yǎng)了數(shù)以十萬計的Java開發(fā)人員。此外,Sun還牽頭成立了中外軟件廠商的開發(fā)聯(lián)盟。

          在中國,Java的開發(fā)可以說是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊 ,承擔(dān)了國家“九五”攻關(guān)項(xiàng)目“基于Java技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進(jìn)行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植到汽車導(dǎo)航平臺。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機(jī)軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運(yùn)行支持環(huán)境等多項(xiàng)成果;在臺灣,22家知名計算機(jī)公司成立了“Java聯(lián)盟”,并在臺北建立了“Java開發(fā)中心”,新竹建立了“Java語言實(shí)驗(yàn)室”;在

          香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮 。Java的浪潮洶涌澎湃,席卷全球!

          4. Java技術(shù)

          Java發(fā)展至今日,已不僅僅是一種編程語言,實(shí)際上已形成了一門技術(shù).其內(nèi)容包括:

          1)Java軟件包

          Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。

          2)Java虛擬機(jī)及其規(guī)范

          3) Java嵌入技術(shù)(Java芯片)

          已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計時采用了模塊式高性能計算引擎,實(shí)質(zhì)為一種芯片級并行處理機(jī),能以更有效的方式分解計算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJC芯片的發(fā)布催生出一個基于Java語言的微處理器家族,與Intel公司競爭。設(shè)想中的Java處理器將應(yīng)用在從低價消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。

          4)Java計算

          基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應(yīng)用系統(tǒng)。

          5)Jini技術(shù)

          1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動識別,并可充分

          利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類設(shè)備(包括消費(fèi)類電子設(shè)備如移動電話、PDA、DTV、HPC、NC、游戲機(jī)、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配臵性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計算”和“計算機(jī)”的含義,極大地簡化了網(wǎng)絡(luò)操作,對家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini 不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強(qiáng)占制高點(diǎn)。

          6)Jiro平臺

          異質(zhì)網(wǎng)絡(luò)環(huán)境中安裝的存儲系統(tǒng)的多樣性和分布性,給存儲管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進(jìn)企業(yè)存儲管理方案的開發(fā)。而Jiro平臺正是解決此問題的革命性方案。Jiro平臺實(shí)現(xiàn)了Java和Jini 技術(shù),它是一個便于用戶管理異質(zhì)網(wǎng)絡(luò)上由各種服務(wù)器、存儲和設(shè)備組成的混合環(huán)境的開放式存儲管理平臺。它對操作系統(tǒng)是中立的。Jiro為跨異質(zhì)存儲局域網(wǎng)(SAN)的管理服務(wù)和設(shè)備提供了一個開放平臺,允許服務(wù)器、存儲和聯(lián)網(wǎng)設(shè)備在異質(zhì)網(wǎng)絡(luò)環(huán)境中無縫地協(xié)同工作。Jiro平臺為開發(fā)者帶來的好處有: 允許開發(fā)者利用各種實(shí)現(xiàn)管理存儲網(wǎng)絡(luò)的目標(biāo)功能創(chuàng)建應(yīng)用;

          提供了一個可以在各種應(yīng)用、服務(wù)和設(shè)備之間交互操作的組件模型; 允許設(shè)備易被增加、刪除;

          允許應(yīng)用或服務(wù)被自動更新。

          1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺的團(tuán)體成員已超過25家,支持Jiro平臺的廠商超過300家。有眼光的廠商紛紛加入到這些組行列,從而加快了Jiro的發(fā)展。

          結(jié)語

          Java自問世以來,以其得天獨(dú)厚的優(yōu)勢,在IT業(yè)界掀起了研究、開發(fā)它的浪潮,顯示了“鵬程萬里”的美好前景。作為一種與底層硬件無關(guān)的、“編寫一次,到處運(yùn)行”的高級語言和計算平臺,Java天生就具有將網(wǎng)絡(luò)上的各個平臺連成一體的能力,真正實(shí)現(xiàn)了“網(wǎng)絡(luò)就是計算機(jī)”的理念。以Java為代表的網(wǎng)絡(luò)的成長,改變了我們的聯(lián)系方式、生活方式、學(xué)習(xí)方式和經(jīng)營方式。它的來到使我們目睹了一場類似印刷術(shù)的重大變革。毫無疑問,它將影響人類社會的發(fā)展,這就是:Java加速人類進(jìn)入網(wǎng)絡(luò)時代!

          Java是當(dāng)今IT產(chǎn)業(yè)和人類文明的創(chuàng)新和希望!

          java畢業(yè)論文范文篇二:

          編號

          ___學(xué)院

          免費(fèi)的

          畢 業(yè) 論 文

          學(xué)生姓名 _______ _

          學(xué) 號 ___________

          專 業(yè) ____

          班 級 ____

          指導(dǎo)教師

          200 年 月

          1.Java語言的出現(xiàn)

          自從1946年世界上第一臺電子計算機(jī)問世以來,計算模式的發(fā)展經(jīng)歷了三個階段:集中計算模式、分散計算模式和網(wǎng)絡(luò)計算模式。Internet的出現(xiàn),為在網(wǎng)絡(luò)計算模式下的科學(xué)計算和信息處理提供了良好平臺。然而,要充分利用網(wǎng)絡(luò)計算模式的功能與效益,平臺的運(yùn)行環(huán)境是個制約因素,而Java語言和Java技術(shù)則是解決這一問題的最佳途徑。

          1991年,SUN公司的Jame Gosling,Bill Joe等人試圖為電視、烤箱等家用電器開發(fā)一種交互式的軟件系統(tǒng),這種應(yīng)用需要的是那種小而可靠的系統(tǒng),它能夠移植,并且實(shí)時性好,適用于網(wǎng)絡(luò)分布環(huán)境。流行的C++是自然的選擇。不過,開發(fā)過程中遇到的許多難以克服的困難使他們意識到必須徹底解決問題了,最終,開發(fā)成功了一個名為Oak的軟件,此中蘊(yùn)藏著Java的原型,當(dāng)時,并未引起人們的注意。1994年下半年,隨著Internet的迅猛發(fā)展,環(huán)球信息網(wǎng)WWW的快速增長,促進(jìn)了Java語言研制的進(jìn)展,使得它逐漸成為Internet上倍受歡迎的開發(fā)與編程語言。1995年5月Java正式問世,一些著名的計算機(jī)公司紛紛購買了Java語言的使用權(quán),如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java語言被美國著名雜志PC Magazine評為1995年十大優(yōu)秀科技產(chǎn)品(計算機(jī)類僅此一項(xiàng)入選)之一,隨之大量出現(xiàn)了用Java編寫的軟件產(chǎn)品,受到工業(yè)界的重視與好評,認(rèn)為“Java是八十年代以來計算機(jī)界的一件大事”。微軟總裁比爾·蓋茨在認(rèn)真觀察了一段時間后,確認(rèn)“Java是長時間以來最卓越的程序設(shè)計語言”,并確定微軟整個軟件的開發(fā)戰(zhàn)略從PC單機(jī)時代向以網(wǎng)絡(luò)為中心的計算時代轉(zhuǎn)移,而購買Java則是他的重大戰(zhàn)略決策的實(shí)施部署。

          因此,Java的誕生必將對整個計算機(jī)產(chǎn)業(yè)發(fā)生深遠(yuǎn)的影響,對傳統(tǒng)的計算模型提出了新的挑戰(zhàn)。SUN Microsystem公司的總裁Scott McNealy認(rèn)為:Java對Internet和WWW開辟了一個嶄新的時代。

          有人預(yù)言:Java將成為網(wǎng)絡(luò)上的“世界語”,今后,用其他語言編寫的軟件統(tǒng)統(tǒng)都要用Java語言來改寫。

          2.Java語言的主要特點(diǎn)

          Java語言是一種適用于網(wǎng)絡(luò)編程的語言,它的基本結(jié)構(gòu)與C++極為相似,但卻簡單得多。它集成了其它一些語言的特點(diǎn)和優(yōu)勢,又避開了它們的不足之處。它的主要特點(diǎn)如下:

          2.1簡單性

          Java與C++相比,不再支持運(yùn)算符重載、多級繼承及廣泛的自動強(qiáng)制等易混淆和較少使用的特性,而增加了內(nèi)存空間自動垃圾收集的功能,復(fù)雜特性的省略和實(shí)用功能的增加使得開發(fā)變得簡單而可靠。

          簡單化的另一個方面是Java的系統(tǒng)非常小,其基本解釋和類支持部分只占40KB,附加的基本標(biāo)準(zhǔn)庫和線程支持也只需增加175KB。因此,Java應(yīng)用軟件能在相當(dāng)小的系統(tǒng)之上獨(dú)立工作。

          2.2平臺獨(dú)立性

          這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗(yàn),再解釋成不同的機(jī)器碼來執(zhí)行,即“Java虛擬機(jī)”的思想,“屏蔽”了具體的“平臺環(huán)境”特性要求,使得只要能支持Java虛擬機(jī),就可運(yùn)行各種Java程序。

          2.3面向?qū)ο蟮募夹g(shù)

          面向?qū)ο?O-O)的技術(shù)是近年來軟件開發(fā)中用得最為普遍的程序設(shè)計方法,,它通過把客觀事物進(jìn)行分類組合、參數(shù)封裝、用成員變量來描述對象的性質(zhì)、狀態(tài),而用方法(成員函數(shù))來實(shí)現(xiàn)其行為和功能。O-O技術(shù)具有繼承性、封裝性、多態(tài)性等眾多特點(diǎn),Java在保留這些優(yōu)點(diǎn)的基礎(chǔ)上,又具有動態(tài)聯(lián)編的特性,更能發(fā)揮出面向?qū)ο蟮膬?yōu)勢。

          2.4多線程

          多線程機(jī)制使應(yīng)用程序能并行執(zhí)行,Java有一套成熟的同步原語 ,保證了對共享數(shù)據(jù)的正確操作.通過使用多線程,程序設(shè)計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易實(shí)現(xiàn)網(wǎng)絡(luò)上實(shí)時的交互行為。

          2.5動態(tài)性

          Java的設(shè)計使它適合于一個不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實(shí)例變量而不會影響用戶程序的執(zhí)行。并且Java通過接口來支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。

          2.6安全性

          Java有建立在公共密鑰技術(shù)基礎(chǔ)上的確認(rèn)技術(shù).指示器語義的改變將使應(yīng)用程序不能再去訪問以前的數(shù)據(jù)結(jié)構(gòu)或是私有數(shù)據(jù),大多數(shù)病毒也就無法破壞數(shù)據(jù).因而,用Java可以構(gòu)造出無病毒、安全的系統(tǒng)。

          Java語言除上述主要特點(diǎn)外,還有高性能、分布性、強(qiáng)大性、解釋性、可移植性等,此處不再 贅述。

          3.Java語言的發(fā)展

          Java自正式問世以來已經(jīng)歷了四年的歷程,時間雖短,發(fā)展極快。一年一度在美國舊金山召開的世界Java One語言開發(fā)者大會(Java One Developer Conference)盛況空前正說明了這一點(diǎn)。四年中每年的Java One大會,既是了解Java最新技術(shù)動態(tài)、應(yīng)用成果和下一步發(fā)展趨勢的最好場所,又是推動下一年Java快速發(fā)展的重要動力。首屆Java One大會于1996年召開,各屆簡況如下:

          1996年5月29-31日,第一屆,出席會議者6500余人,來自工業(yè)界的超過一半。有人評價說:“這是近年計算機(jī)界最光輝的一次盛會”。工業(yè)界相當(dāng)看好Java語言,認(rèn)為它的使用將會引起一場軟件革命:從軟件的設(shè)計風(fēng)格、設(shè)計方法、設(shè)計目標(biāo)到設(shè)計過程,都會產(chǎn)生徹底的變革,“甚至?xí)淖兇诵乔虻纳罘绞健薄?/p>

          1997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應(yīng)用開發(fā)迅速起步。

          1998年3月24-27日,第三屆,出席會議者14000余人(注冊人數(shù)),注冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機(jī)公司都參加了。展廳內(nèi)設(shè)300多個展臺,先后舉行了90場專題討論會,每場參加的人數(shù)從千人至五六千人不等。會議的主題是:通過Java的培訓(xùn)來帶動Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動信息產(chǎn)業(yè)的進(jìn)步。會議展出的內(nèi)容大致如下:

          Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio 等;

          企業(yè)信息管理解決方案軟件,如:EJB(Enterprise JavaBeans);

          基于Java技術(shù)的信息家電,如:機(jī)頂盒、Java電話等;

          個人信息綜合服務(wù)(Java戒指)、社會信息綜合查詢亭(Kiosk);

          電子商務(wù)軟件、智能卡、Java Card API 等;

          網(wǎng)絡(luò)計算環(huán)境下的Java服務(wù)器軟件、遠(yuǎn)程方法調(diào)用(RMI)、基于Java技術(shù)的移動計算設(shè)備;

          JMS(Java Message Service)用于出版、票據(jù)訂閱的軟件;

          JOS(Java OS)、基于Java技術(shù)的NC和Java Station。

          1999年6月15-18日,第四屆,出席會議者達(dá)20000人,300多家廠商參展,舉辦400多場技術(shù)講座,555名演講者慷慨陳詞,精彩紛呈。這次大會的主要特點(diǎn)是:

          Java框架結(jié)構(gòu)被梳理清晰

          本次JavaOne大會上,Sun公司的一個重大舉措就是公布了Java平臺的最新架構(gòu)。重新定義的Java平臺以Java 2為核心,由面向企業(yè)和服務(wù)器市場的企業(yè)版Java 2(J2EE)、面向傳統(tǒng)PC客戶機(jī)市場的標(biāo)準(zhǔn)版Java 2(J2SE)和面向信息電器等后PC終端設(shè)備市場的Micro版Java 2(J2ME)三大部分組成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和Java Massage Service組成。而J2ME則是原有的Personal Java、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結(jié)構(gòu)中的內(nèi)容都是已有的,但這樣重新定義和組合,使得Java平臺的概念簡單化,從而變得易于理解,更適合于進(jìn)行市場推廣。

          2)重點(diǎn)放在企業(yè)平臺

          隨著Internet的飛速發(fā)展,企業(yè)計算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務(wù)器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特點(diǎn),使得它在開發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨(dú)厚的優(yōu)勢,面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個標(biāo)準(zhǔn)的Java計算平臺:界面一致、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應(yīng)用系統(tǒng)的開發(fā)。

          3) 加速后PC時代的進(jìn)程

          計算機(jī)的發(fā)展創(chuàng)造了Internet,但是計算機(jī)現(xiàn)在卻不是訪問Internet的唯一方式。正在出現(xiàn)的信息化、智能化的消費(fèi)類電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類進(jìn)入Internet的新門戶。信息終端的多元化預(yù)示著所謂后PC(post-PC)時代的到來。消費(fèi)類的信息終端量大面廣,是典型的瘦客戶機(jī),其本身的資源和能力不能與PC相比,但必須更加智能化,并對服務(wù)器端的管理提出了更高的要求。而Java平臺恰恰滿足了這種要求。本次大會推出的Kjava虛擬機(jī)能運(yùn)行在16以上的微處理器上,占用內(nèi)存少,人們可以隨心所欲,在資源有限的設(shè)備上方便地開發(fā)出各種各樣的應(yīng)用,直接運(yùn)行在不同的消費(fèi)類或其它電子設(shè)備上;而Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動識別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。大力推進(jìn)Jini的發(fā)展是Sun公司加速后PC時代進(jìn)程的一項(xiàng)重要策略。

          4)應(yīng)用系統(tǒng)異彩紛呈

          與上屆大會一樣,展出內(nèi)容有:應(yīng)用工具、應(yīng)用系統(tǒng)、信息家電等。特別在實(shí)時系統(tǒng)開發(fā)方面,以IBM為首開發(fā)出了應(yīng)用于工業(yè)實(shí)時環(huán)境的Java嵌入系統(tǒng),展現(xiàn)出Java在工業(yè)領(lǐng)域的廣闊應(yīng)用前景。

          Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個軟件開發(fā)商加入了Java陣營,1億個Java最終用戶,幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書籍(自Java問世4年來,平均每天出版一本)。這真是IT業(yè)界的盛事!

          IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實(shí)驗(yàn)室,集聚了2500余名技術(shù)人員,全天侯24小時進(jìn)行全方位開發(fā);芯片巨人Intel提出“抓住時機(jī),占領(lǐng)Java陣地”!決心使Intel芯片系統(tǒng)成為開發(fā)Java應(yīng)用運(yùn)行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務(wù)器端Java的市場”;作為Java發(fā)明者的Sun公司,堅(jiān)持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針,通過對Java的“研究椘攔罈構(gòu)造棽饈詶推廣”的過程,從而占領(lǐng)市場。此外,HP、Oracle、Apple、Sybase、Netscape、Informi_、3Com、Motorola等公司均是Sun的堅(jiān)強(qiáng)同盟。

          在我國,Java的引進(jìn)與開發(fā)起步早,發(fā)展水平基本與世界同步。目前,Sun公司已在中國建成了由5個授權(quán)中心、20多個Internet/Intarnet Java解決方案中心和10所Java大學(xué)、若干培訓(xùn)中心組成的三級結(jié)構(gòu)。全面推動Java在中國的普及、應(yīng)用、研究、開發(fā),培養(yǎng)了數(shù)以十萬計的Java開發(fā)人員。此外,Sun還牽頭成立了中外軟件廠商的開發(fā)聯(lián)盟。

          在中國,Java的開發(fā)可以說是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊 ,承擔(dān)了國家“九五”攻關(guān)項(xiàng)目“基于Java技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進(jìn)行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植到汽車導(dǎo)航平臺。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機(jī)軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運(yùn)行支持環(huán)境等多項(xiàng)成果;在臺灣,22家知名計算機(jī)公司成立了“Java聯(lián)盟”,并在臺北建立了“Java開發(fā)中心”,新竹建立了“Java語言實(shí)驗(yàn)室”;在香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮 。Java的浪潮洶涌澎湃,席卷全球!

          4. Java技術(shù)

          Java發(fā)展至今日,已不僅僅是一種編程語言,實(shí)際上已形成了一門技術(shù).其內(nèi)容包括:

          1)Java軟件包

          Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。

          2)Java虛擬機(jī)及其規(guī)范

          3) Java嵌入技術(shù)(Java芯片)

          已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計時采用了模塊式高性能計算引擎,實(shí)質(zhì)為一種芯片級并行處理機(jī),能以更有效的方式分解計算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJC芯片的發(fā)布催生出一個基于Java語言的微處理器家族,與Intel公司競爭。設(shè)想中的Java處理器將應(yīng)用在從低價消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。

          4)Java計算

          基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應(yīng)用系統(tǒng)。

          5)Jini技術(shù)

          1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動識別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類設(shè)備(包括消費(fèi)類電子設(shè)備如移動電話、PDA、DTV、HPC、NC、游戲機(jī)、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計算”和“計算機(jī)”的含義,極大地簡化了網(wǎng)絡(luò)操作,對家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini 不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強(qiáng)占制高點(diǎn)。

          6)Jiro平臺

          異質(zhì)網(wǎng)絡(luò)環(huán)境中安裝的存儲系統(tǒng)的多樣性和分布性,給存儲管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進(jìn)企業(yè)存儲管理方案的開發(fā)。而Jiro平臺正是解決此問題的革命性方案。Jiro平臺實(shí)現(xiàn)了Java和Jini 技術(shù),它是一個便于用戶管理異質(zhì)網(wǎng)絡(luò)上由各種服務(wù)器、存儲和設(shè)備組成的混合環(huán)境的開放式存儲管理平臺。它對操作系統(tǒng)是中立的。Jiro為跨異質(zhì)存儲局域網(wǎng)(SAN)的管理服務(wù)和設(shè)備提供了一個開放平臺,允許服務(wù)器、存儲和聯(lián)網(wǎng)設(shè)備在異質(zhì)網(wǎng)絡(luò)環(huán)境中無縫地協(xié)同工作。Jiro平臺為開發(fā)者帶來的好處有:

          允許開發(fā)者利用各種實(shí)現(xiàn)管理存儲網(wǎng)絡(luò)的目標(biāo)功能創(chuàng)建應(yīng)用;

          提供了一個可以在各種應(yīng)用、服務(wù)和設(shè)備之間交互操作的組件模型;

          允許設(shè)備易被增加、刪除;

          允許應(yīng)用或服務(wù)被自動更新。

          1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺的團(tuán)體成員已超過25家,支持Jiro平臺的廠商超過300家。有眼光的廠商紛紛加入到這些組行列,從而加快了Jiro的發(fā)展。

          結(jié)語

          Java自問世以來,以其得天獨(dú)厚的優(yōu)勢,在IT業(yè)界掀起了研究、開發(fā)它的浪潮,顯示了“鵬程萬里”的美好前景。作為一種與底層硬件無關(guān)的、“編寫一次,到處運(yùn)行”的高級語言和計算平臺,Java天生就具有將網(wǎng)絡(luò)上的各個平臺連成一體的能力,真正實(shí)現(xiàn)了“網(wǎng)絡(luò)就是計算機(jī)”的理念。以Java為代表的網(wǎng)絡(luò)的成長,改變了我們的聯(lián)系方式、生活方式、學(xué)習(xí)方式和經(jīng)營方式。它的來到使我們目睹了一場類似印刷術(shù)的重大變革。毫無疑問,它將影響人類社會的發(fā)展,這就是:Java加速人類進(jìn)入網(wǎng)絡(luò)時代!

          Java是當(dāng)今IT產(chǎn)業(yè)和人類文明的創(chuàng)新和希望!

          java畢業(yè)論文范文篇三:

          __大 學(xué)

          畢業(yè)設(shè)計(論文)

          題目: 基于Java技術(shù)的網(wǎng)上交易系統(tǒng)的開發(fā)

          學(xué) 院:

          專 業(yè):

          班 級:

          學(xué) 號: ___

          學(xué)生姓名: __

          指導(dǎo)老師: __

          2009年6月9日

          摘 要

          隨著信息高速公路的建立,Internet的普及,網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,人類社會已經(jīng)進(jìn)入了一個信息化社會。

          電子商務(wù)指利用簡單、快捷、低成本的電子通訊方式,買賣雙方通過網(wǎng)絡(luò)進(jìn)行各種商貿(mào)活動的一種商業(yè)交易模式。隨著互聯(lián)網(wǎng)的發(fā)展,以及人們消費(fèi)觀念和生活方式的改變,這種新型的商業(yè)模式逐漸融入了人們的生活中。通過企業(yè)的門戶網(wǎng)站,人們可以足不出戶的尋找自己所需的物品,通過對不同虛擬商城的訪問,“顧客”可以找出性價比最高的商品,自己有極大地選擇空間;通過下訂單,你可以很快得到自己想要的物品,這給顧客節(jié)省很多時間和精力;對于廠家來說,可以極大地降低庫存風(fēng)險,可根據(jù)客戶需要,按需采購和生產(chǎn),大大地提高了效益。

          本畢業(yè)設(shè)計的內(nèi)容是設(shè)計并且實(shí)現(xiàn)一個基于web技術(shù)的在線交易系統(tǒng)。系統(tǒng)主要以j2EE作為開發(fā)基礎(chǔ),使用了struts+spring+hibernate等多種協(xié)議或技術(shù),用eclipse作為開發(fā)工具,以Macromedia公司的Dreamweaver作為界面美化工具。基本實(shí)現(xiàn)了網(wǎng)上交易系統(tǒng)應(yīng)有的主要功能模塊,包括:管理員的登錄,管理和維護(hù);用戶注冊、登錄、注銷,個人信息的查詢、修改;商品管理,購物車管理,訂單管理。該系統(tǒng)界面簡單、操作方便,容易維護(hù)。

          關(guān)鍵詞:電子商務(wù) j2EE struts + spring + hibernate

          Development of an Online Trading System Based on Java Technology

          Abstract

          With the establishment of high way of information, the popularization of Internet and the rapid development of network technology, human society has entered a society of information.

          E-commerce is a new business transaction, through which both buyers and sellers can use a simple, fast and low-cost means of electronic and communication. With the development of the Internet, and people's consumption idea and the way of life changing, this new business model has gradually integrated into people's lives. Through the portal site of enterprise, people can look up the goods which they required without going out; through the different virtual mall visit, people can find the most cost-effective products, and they have much self-choice; through orders, people can find the things which they need, and quickly get the products which they ordered. This new business modle can save a lot of time and energy for custormers, and greatly reduce inventory risk of manufaturers. The manufactures can procure and produce according to customer needs, this was called on-demand procurement and production, which greatly improved the efficiency.

          The subject of this graduation project is designing a web-based online trading system. This system mainly uses j2EE as the basis of development, and also use the struts + spring + hibernate technologies and other orders. This project use eclipse as the development tools, and Macromedia's Dreamweaver as the interfaces landscaping tools. The basic functions of an online trading system have been implemented, which include administrator login, management and maintenance; user registration, login, write-offs personal information enquiries and amendments; commodity management, cart management, order management. Interface of the system is simple, it can be used and maintained easily.

          Key words: E-commerce j2EE struts + spring + hibernate

          6

          目錄

          摘 要

          Abstract

          第一章 引言

          1.1 課題背景

          1.2 課題目的和意義

          1.3 本文結(jié)構(gòu)

          第二章 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)

          2.1 JSP技術(shù)介紹

          2.1.1 JSP的概述

          2.1.3 JSP的強(qiáng)勢與劣勢

          2.1.4 JSP與ASP的比較

          2.2 Java組件JavaBeans

          2.2.1 什么是JavaBeans

          2.2.2 JSP與JavaBeans的關(guān)系

          2.3 J2EE概述

          2.4關(guān)于Struts

          2.4.1 Struts簡介

          2.4.2 Struts的主要功能

          2.5 關(guān)于Spring

          2.5.1 Spring簡介

          2.5.2 為什么需要Spring

          2.5.3 Spring帶給我們什么

          2.6 關(guān)于Hibernate

          2.6.1為什么引入hibernate

          2.6.2使用Hibernate的好處

          2.6.3 Hibernate的工作原理

          2.7 Mysql

          2.7.1 mysql的特點(diǎn)

          2.7.2 mysql的安裝和配置(部分截圖)

          2.8 Tomcat服務(wù)器

          2.8.1 Tomcat 服務(wù)器簡介

          2.8.2 Tomcat的特點(diǎn)

          2.8.3 Tomcat的優(yōu)勢

          2.8.4 Tomcat服務(wù)器的安裝和配置

          小結(jié)

          第三章 系統(tǒng)需求分析和總體設(shè)計

          3.1 系統(tǒng)功能需求

          3.2 系統(tǒng)角色及其功能分析

          3.2.1 系統(tǒng)的3個角色:

          3.2.2 系統(tǒng)角色的功能

          3.3 總體設(shè)計思想概述

          3.4 數(shù)據(jù)庫設(shè)計

          3.4.1 E-R圖

          3.4.2數(shù)據(jù)表的設(shè)計

          3.5 系統(tǒng)的類設(shè)計

          3.5.1 DAO類設(shè)計

          3.5.2 POJO類設(shè)計(部分)

          3.5.3 過濾器類設(shè)計

          3.5.4 監(jiān)聽器類設(shè)計

          3.6系統(tǒng)的用例圖

          3.6.1 總體用例分析

          3.6.2 用戶管理用例分析

          3.6.3 購物車管理用例分析

          小結(jié)

          第四章 系統(tǒng)的詳細(xì)設(shè)計

          4.1 數(shù)據(jù)庫與POJO映射的實(shí)現(xiàn)

          4.2 主要模塊的設(shè)計說明與界面

          4.2.1用戶管理模塊

          4.2.2購物車管理模塊

          4.2.3 定單模塊

          4.3 系統(tǒng)的測試

          小結(jié)

          第五章總結(jié)與展望

          5.1工作總結(jié)

          5.2 后續(xù)工作展望

          參考文獻(xiàn)

          附錄

          致謝

          第一章 引言

          1.1 課題背景

          隨著當(dāng)今世界進(jìn)入信息時代,Internet的飛速發(fā)展和在全球的普及給人類生活帶來革命性的改變。Internet將傳統(tǒng)意義上的物理空間轉(zhuǎn)變成電子空間,把人們帶入了一個網(wǎng)絡(luò)社會中。網(wǎng)絡(luò)時代的到來,帶給人們的不只是快捷、方便,它帶來的是劃時代的進(jìn)步。在網(wǎng)絡(luò)大家族中,電子商務(wù)則是一個熱點(diǎn),它的發(fā)展速度之快遠(yuǎn)遠(yuǎn)超過我們的想象,普及速度之快令人難以置信。我們完全有理由相信,全球性的電子商務(wù)熱潮必將一浪高于一浪[1]。

          電子商務(wù)一個最基本體現(xiàn)就是電子購物網(wǎng)站,從一定程度上講它就是網(wǎng)上超市,也就是一種網(wǎng)上交易。“網(wǎng)”字意味著它具有信息時代的快捷方便等特征。事實(shí)上電子商務(wù)的出現(xiàn),給消費(fèi)者的地位,消費(fèi)觀念帶來了重要的變化。網(wǎng)上交易系統(tǒng)正是應(yīng)這種變化而悄然崛起,并以驚人的速度發(fā)展著。通過網(wǎng)上交易系統(tǒng),人們可以足不出戶的尋找自己所需的物品,通過對不同虛擬商城的訪問,“顧客”可以找出性價比最高的商品,自己有極大地選擇空間,通過下訂單,你可以很快得到自己想要的物品,這給顧客節(jié)省很多時間和精力,對于廠家來說,可以極大的降低庫存風(fēng)險,根據(jù)客戶需要,按需生產(chǎn)和采購,大大的提高了效益。

          1.2 課題目的和意義

          自從電子商務(wù)出現(xiàn)在人們的視野中,電子商務(wù)就在全世界范圍內(nèi)受到了格外的關(guān)注,并得到了迅速的發(fā)展。從實(shí)用角度看,目前電子商務(wù)網(wǎng)站的普遍存在是購買者難以找到所希望購買的商品甚至用戶在耗費(fèi)很大的經(jīng)歷與時間后即使找到了自己想要的產(chǎn)品,最后卻由于各種原因而放棄購買。很多報道指出,推銷商們普遍對目前的網(wǎng)絡(luò)行銷感到失望,盡管如此,電子商務(wù)無疑是目前最好的在線商品展示的媒體和工具。然而,網(wǎng)上產(chǎn)品展示的目的不僅僅是展示產(chǎn)品,而更重要的是通過讓客戶更多地了解產(chǎn)品而提高產(chǎn)品的購買率。因此,電子商務(wù)目前所面臨的挑戰(zhàn)之一就是網(wǎng)站的設(shè)計,如何使得網(wǎng)頁能夠有效地展示自己的產(chǎn)品,同時方便用戶的使用,使用戶以愉悅的心情選購稱心如意的商品。

          本系統(tǒng)的目的和意義就是應(yīng)上述挑戰(zhàn)而嘗試為用戶提供一個操作簡單方便的網(wǎng)上交易系統(tǒng)。利用本系統(tǒng),用戶可以自由地瀏覽商品,注冊成為網(wǎng)站會員,選擇商品加入自己的購物車,而后生成訂單,實(shí)現(xiàn)網(wǎng)上購物。

          1.3 本文結(jié)構(gòu)

          本文共分五個章節(jié),系統(tǒng)地闡述了系統(tǒng)開發(fā)的全過程。

          第一章,主要介紹了開發(fā)的背景、目的和意義。

          第二章,主要介紹了本系統(tǒng)所用到的關(guān)鍵技術(shù)和工具,為下一步的設(shè)計的設(shè)計奠定基礎(chǔ)。

          第三章,主要對系統(tǒng)進(jìn)行需求分析并進(jìn)行總體設(shè)計。需求分析階段通過分析系統(tǒng)的功能模塊的劃分以及角色的劃分,為系統(tǒng)的總體設(shè)計提供依據(jù)。總體設(shè)計階段通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實(shí)體類的設(shè)計,以及各個模塊用例圖的描述,形成了開發(fā)的整體思路。

          第四章,主要介紹了主要模塊的設(shè)計與實(shí)現(xiàn),并給出關(guān)鍵源代碼和最終的效果圖。

          第五章,主要是對這次畢業(yè)設(shè)計的總結(jié)和對后續(xù)工作的展望。

          第二章 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)

          2.1 JSP技術(shù)介紹

          2.1.1 JSP的概述

          JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),類似于其他技術(shù)標(biāo)準(zhǔn),如ASP,PHP等,主要用于開發(fā)動態(tài)網(wǎng)頁內(nèi)容。

          JSP是新一代的動態(tài)內(nèi)容編程技術(shù),它繼承了Java技術(shù)的“一次編寫,隨處運(yùn)行”的特性,允許Web開發(fā)人員開發(fā)和維護(hù)與平臺無關(guān),信息豐富動態(tài)的Web頁面,包括HTML,DHTML,_HTML和_ML,它能使Web開發(fā)人員輕易搭建網(wǎng)絡(luò)平臺,建立起功能強(qiáng)大的Web網(wǎng)站。JSP可以把用戶界面從內(nèi)容層次中分離出來,使得Web開發(fā)人員不必修改在底層的動態(tài)內(nèi)容,就可以修改整體的頁面布局。

          2.1.2 JSP的運(yùn)行機(jī)制

          JSP文檔被復(fù)制到Web服務(wù)器的文檔目錄中。當(dāng)有人請求這個文檔時,服務(wù)器識別出這個帶有.jsp擴(kuò)展名的文檔,并意識到需要做特殊處理。第一次請求這個文檔時,它被編譯成一個servlet對象,并存儲在內(nèi)存中,然后輸出內(nèi)容回送給發(fā)出請求的客戶機(jī)。第一請求之后,只要有請求到來,服務(wù)器將進(jìn)行檢查,看看這個文件是否做過改動,如果沒有變化,服務(wù)器調(diào)用先前編譯過的servlet對象。

          JSP請求的步驟[2]如圖2-1所示。

          (1)客戶機(jī)請求一個JSP頁面。

          (2)JSP引擎編譯該JSP成一個servlet。

          Web

          瀏覽器

          JSP頁面

          生成的servlet

          編譯的servlet

          Web服務(wù)器

          2.第一次編譯

          3.第二次編譯

          1.請求

          4.響應(yīng)

          圖2-1 一個JSP的請求步驟

          (3)生成的servlet被編譯并裝載。

          (4)編譯的servlet服務(wù)請求并把一響應(yīng)發(fā)送回客戶機(jī)。

          JSP主要是針對Java程序處理不熟悉的人設(shè)計的。與Servlet相比,JSP有如下兩個優(yōu)勢:方便與HTML混合;在開發(fā)、測試方面比Servlet方便。

          2.1.3 JSP的強(qiáng)勢與劣勢

          JSP的強(qiáng)勢:

          (1)可移植性。JSP是用Java開發(fā)的,因此它是可移植的,可以一處編寫,隨處運(yùn)行,支持多平臺。

          (2)有效性。JSP的初始化代碼僅在Web服務(wù)器第一次加載時執(zhí)行一次。一旦加載,在處理一個新的請求時,只須調(diào)用一個新的服務(wù)方法。與處理每個請求都要全部加載一個完整的可執(zhí)行程序相比,這是一個相當(dāng)有效的技術(shù)。

          (3)強(qiáng)大的可伸縮性和可擴(kuò)充性。它能夠在面向?qū)ο蟮恼Z言(Java)中進(jìn)行開發(fā),并可以在現(xiàn)有對象基礎(chǔ)上進(jìn)行擴(kuò)展,形成新的對象,從而更好地滿足用戶的需求。

          (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。

          (5)Java Servlet是一種開發(fā)Web應(yīng)用的理想框架。JSP以Servlet技術(shù)為基礎(chǔ),又在許多方面作了改進(jìn)。利用跨平臺的JavaBeans組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。

          JSP的劣勢:

          (1)為了跨平臺的功能,為了極度的伸縮能力,極大的增加了產(chǎn)品的復(fù)雜性,Java系統(tǒng)中包括JRE,JDK,J2EE,EJB等多種產(chǎn)品,這就需要大量的學(xué)習(xí)和培訓(xùn)才能掌握它們,將它們有效地搭配在一起,靈活地加以運(yùn)用。

          (2)Java的運(yùn)行速度快是由于用戶將class常駐內(nèi)存,這樣使用的內(nèi)存空間就比較大。另一方面,它還需要硬盤空間來存儲一系列.Java文件和.class文件以及對應(yīng)的版本文件。

          (3)JSP只有對Java相當(dāng)熟悉的人才能用得很好。

          (4)JSP程序調(diào)試?yán)щy。

          2.1.4 JSP與ASP的比較

          JSP與ASP(Active Server Page)兩者都是常用的動態(tài)網(wǎng)頁技術(shù),也都是可以嵌入HTML中的程序,但兩者是有著本質(zhì)的不同,主要從以下幾個方面對其進(jìn)行比較:

          (1)Web服務(wù)器的支持:大多數(shù)通用的 Web服務(wù)器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。

          (2)平臺的支持:JSP具有平臺獨(dú)立性,只要是一般的Java程序可以運(yùn)行的平臺,都支持JSP程序。Windows平臺可以很好的支持ASP,但ASP對于基于Win32逐漸模型的依賴,使得它難于一直到其它平臺上。

          (3)組件模型:JSP是建立在可重用的、跨平臺的組件(如:JavaBeans、Enterprises JavaBeans和用戶定制的標(biāo)簽庫等組件)之上的,而ASP使用的是基于Win32的COM組件模型。

          (4)腳本語言:JSP可以使用Java編程語言或JavaScript作為腳本語言,而ASP使用VBScript或Jscript作為腳本語言。

          (5)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結(jié)構(gòu)。

          (6)與Access數(shù)據(jù)庫的連接:JSP使用JDBC建立與Access數(shù)據(jù)庫的連接,而ASP對Access數(shù)據(jù)庫使用Data Active Objects。

          (7)用戶定制的標(biāo)簽:JSP可以使用用戶定制標(biāo)簽庫進(jìn)行擴(kuò)充,而ASP中沒有用戶定制標(biāo)簽庫,ASP是不能擴(kuò)充的[3]。

          2.2 Java組件JavaBeans

          2.2.1 什么是JavaBeans

          JavaBeans事實(shí)上有三層含義。首先,JavaBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復(fù)使用的Java組件的技術(shù)規(guī)范。其次,JavaBeans是一個Java的類,一般來說,這樣的Java類將對應(yīng)于一個獨(dú)立的.java文件,在絕大多數(shù)情況下,這應(yīng)該是一個public類型的類。最后,當(dāng)JavaBeans這樣的一個Java類在我們的具體的Java程序中被示例之后,我們有時也會將這樣的一個JavaBeans的實(shí)例稱之為JavaBeans[4]。

          2.2.2 JSP與JavaBeans的關(guān)系

          使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML和_ML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在JSP標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。核心邏輯封裝在標(biāo)識和Beans中,可以方便頁面設(shè)計者編輯和使用JSP頁面。

          在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫),并且將結(jié)果以HTML(或_ML)頁面的形式發(fā)送回瀏覽器。

          絕大多數(shù)JSP頁面依賴于可重用的跨平臺的足見(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。這樣的好處是開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,加速了總體開發(fā)過程。因此,基于Web的較為復(fù)雜的應(yīng)用程序(如電子商務(wù)網(wǎng)站或網(wǎng)上MIS),JSP的復(fù)雜架構(gòu)必須由JavaBeans達(dá)成。

          2.3 J2EE概述

          J2EE(Java 2 Platform Enterprise Edition)是使用Java技術(shù)開發(fā)企業(yè)級應(yīng)用的一種事實(shí)上的工業(yè)標(biāo)準(zhǔn)(Sun公司出于其自身利益的考慮,至今沒有將Java及其相關(guān)技術(shù)納入標(biāo)準(zhǔn)化組織的體系),它是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級應(yīng)用過程中的產(chǎn)物。目前,Java平臺有三個版本:適用于小型設(shè)備和智能卡的J2ME(Java 2 Platform Micro Edition)、適用于桌面系統(tǒng)的J2SE(Java 2 Platform Standard Edition)和適用于企業(yè)級應(yīng)用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構(gòu)的潮流,為應(yīng)用Java技術(shù)開發(fā)服務(wù)器端應(yīng)用提供一個平臺獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級平臺,從而簡化企業(yè)應(yīng)用的開發(fā)、管理和部署。J2EE是一個標(biāo)準(zhǔn),而不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J(rèn)2EE規(guī)范分別開發(fā)了不同的J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器是J2EE企業(yè)級應(yīng)用的部署平臺。由于它們都遵循了J2EE規(guī)范,因此,使用J2EE技術(shù)開發(fā)的企業(yè)級應(yīng)用可以部署在各種J2EE應(yīng)用服務(wù)器上。為了推廣并規(guī)范化使用J2EE架構(gòu)企業(yè)級應(yīng)用的體系架構(gòu),Sun同時給出了一個建議性的J2EE應(yīng)用設(shè)計模型:J2EE Blueprints。J2EE Blueprints提供了實(shí)施J2EE企業(yè)級應(yīng)用的體系架構(gòu)、設(shè)計模式和相關(guān)的代碼,通過應(yīng)用J2EE Blueprints所描述的體系模型,能夠部分簡化架構(gòu)企業(yè)級應(yīng)用這項(xiàng)復(fù)雜的工作。J2EE Blueprints是開發(fā)人員設(shè)計和優(yōu)化J2EE組件的基本原則,同時為圍繞開發(fā)工作進(jìn)行職能分工給出了指導(dǎo)性策略,以幫助應(yīng)用開發(fā)設(shè)計人員合理地分配技術(shù)資源。

          J2EE的優(yōu)勢主要有以下幾點(diǎn):

          (1)高效的開發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時間。高級中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù):狀態(tài)管理服務(wù) -- 讓開發(fā)人員寫更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。

          (2)持續(xù)性服務(wù) : 讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進(jìn)行編碼就能編寫應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫無關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開發(fā)與維護(hù)。分布式共享數(shù)據(jù)對象CACHE服務(wù),讓開發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。

          (3)支持異構(gòu)環(huán)境: J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺。這在典型的異構(gòu)企業(yè)計算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個方案所需的費(fèi)用。

          (4)可伸縮性:企業(yè)必須要選擇一種服務(wù)器端平臺,這種平臺應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶。基于J2EE平臺的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNI_與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺服務(wù)器集成部署。這種部署可達(dá)數(shù)千個處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需要。

          (5)穩(wěn)定的可用性: 一個服務(wù)器端平臺必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。這是實(shí)時性很強(qiáng)商業(yè)系統(tǒng)理想的選擇[5]。

          2.4關(guān)于Struts

          2.4.1 Struts簡介

          Struts已逐步越來越多運(yùn)用于商業(yè)軟件,是一種非常優(yōu)秀的J2EE MVC實(shí)現(xiàn)方式。Struts用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的framework。

          2.4.2 Struts的主要功能

          (1) 包含一個controller servlet,能將用戶的請求發(fā)送到相應(yīng)的Action對象。

          (2)JSP自由tag庫,并且在controller servlet中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。

          (3)提供了一系列實(shí)用對象:_ML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。Struts項(xiàng)目的目標(biāo)是為創(chuàng)建Java web應(yīng)用提供一個開放源代framework。Struts framework的內(nèi)核是基于例如Java Servlets,

          JavaBeans, ResourceBundles, 和 _ML,以及各種 Jakarta Commons包的標(biāo)準(zhǔn)技術(shù)的靈活的控制層。Struts提供了它自身的控制器組件,并整合了其他技術(shù),以提供模型和視圖。Struts已逐步越來越多運(yùn)用于商業(yè)軟件,是一種非常優(yōu)秀的J2EE MVC實(shí)現(xiàn)方式[6]。

          2.4.3 Struts工作原理

          MVC(Model-View-Controller),是一種常用的設(shè)計模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化,MVC可以讓整個邏輯很清晰,這種思想和思維和人的思維很接近,很容易被理解。

          MVC的工作原理如圖2-2所示:

          圖2-2 MVC工作原理

          Struts 是MVC的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實(shí)現(xiàn)的一部分。Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts的工作原理,如圖2-3所示:

          圖2-3 struts工作原理

          (1)Controller:在_ML文件Struts-config._ml中,與之相關(guān)聯(lián)的是Controller,在Struts中,承擔(dān)MVC中Controller角色的是一個Servlet,叫ActionServlet。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點(diǎn)。它截取和分發(fā)這些請求到相應(yīng)的動作類(這些動作類都是Action類的子類)。另外控制組件也負(fù)責(zé)用相應(yīng)的請求參數(shù)填充 Action From(通常稱之為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實(shí)現(xiàn)核心商業(yè)邏輯,它可以訪問java bean 或調(diào)用EJB。最后動作類把控制權(quán)傳給后續(xù)的JSP 文件,后者生成視圖。所有這些控制邏輯利用Struts-config._ml文件來配置。

          (2)視圖:主要由JSP生成頁面完成視圖,Struts提供豐富的JSP 標(biāo)簽庫:Html,Bean,Logic,Template等,這有利于分開表現(xiàn)邏輯和程序邏輯。

          (3)模型:模型以一個或多個java bean的形式存在。這些bean分為三類:Action Form、Action、JavaBean or EJB。Action Form通常稱之為FormBean,封裝了來自于Client的用戶請求信息,如表單信息。Action通常稱之為ActionBean,獲取從ActionSevlet傳來的FormBean,取出FormBean中的相關(guān)信息,并做出相關(guān)的處理,一般是調(diào)用Java Bean或EJB等[7]。

          2.5 關(guān)于Spring

          2.5.1 Spring簡介

          Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益[8]。

          ◆目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性

          ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能

          ◆范圍:任何Java應(yīng)用

          簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。

          ◆輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。

          ◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。

          ◆面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。

          ◆容器——Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨(dú)的實(shí)例或者每次需要時都生成一個新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。

          ◆框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個_ML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。

          所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。

          2.5.2 為什么需要Spring

          你可能正在想“Spring不過是另外一個的framework”。當(dāng)已經(jīng)有許多開放源代碼(和專有) J2EE framework時,我們?yōu)槭裁催€需要Spring Framework?

          Spring是獨(dú)特的,因?yàn)槿舾蓚€原因:

          ◆它定位的領(lǐng)域是許多其他流行的framework沒有的。Spring關(guān)注提供一種方法管理你的業(yè)務(wù)對象。

          ◆ Spring是全面的和模塊化的。Spring有分層的體系結(jié)構(gòu),這意味著你能選擇使用它孤立的任何部分,它的架構(gòu)仍然是內(nèi)在穩(wěn)定的。因此從你的學(xué)習(xí)中,你可得到最大的價值。例如,你可能選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業(yè)務(wù)對象。

          ◆它的設(shè)計從底部幫助你編寫易于測試的代碼。Spring是用于測試驅(qū)動工程的理想的framework。

          Spring對你的工程來說,它不需要一個以上的framework。Spring是潛在地一站式解決方案,定位于與典型應(yīng)用相關(guān)的大部分基礎(chǔ)結(jié)構(gòu)。它也涉及到其他framework沒有考慮到的內(nèi)容。

          2.5.3 Spring帶給我們什么

          ◆方便解耦,簡化開發(fā)

          通過Spring提供的IoC容器,我們可以將對象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實(shí)例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。

          ◆AOP編程的支持

          通過Spring提供的AOP功能,方便進(jìn)行面向切面的編程,許多不容易用傳統(tǒng)OOP實(shí)現(xiàn)的功能可以通過AOP輕松應(yīng)付。

          ◆聲明式事務(wù)的支持

          在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進(jìn)行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。

          ◆方便程序的測試

          可以用非容器依賴的編程方式進(jìn)行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。

          ◆方便集成各種優(yōu)秀框架

          Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。

          ◆降低Java EE API的使用難度

          Spring對很多難用的Java EE API(如JDBC,JavaMail,遠(yuǎn)程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些Java EE API的使用難度大為降低。

          ◆Java 源碼是經(jīng)典學(xué)習(xí)范例

          Spring的源碼設(shè)計精妙、結(jié)構(gòu)清晰、匠心獨(dú)用,處處體現(xiàn)著大師對Java設(shè)計模式靈活運(yùn)用以及對Java技術(shù)的高深造詣。Spring框架源碼無疑是Java技術(shù)的最佳實(shí)踐范例。如果想在短時間內(nèi)迅速提高自己的Java技術(shù)水平和應(yīng)用開發(fā)水平,學(xué)習(xí)和研究Spring源碼將會使你收到意想不到的效果[9]。

          2.6 關(guān)于Hibernate

          2.6.1為什么引入hibernate

          在B/S項(xiàng)目的開發(fā)中,和數(shù)據(jù)庫的交互式不可避免的,J2EE的規(guī)范中提供了JDBC的接口來操作數(shù)據(jù)庫,對于JDBC,開發(fā)人員可以獲取數(shù)據(jù)庫連接,然后向數(shù)據(jù)庫發(fā)送SQL語句,并返回數(shù)據(jù)庫操作的結(jié)果集,然后封裝成對象返回給上層的應(yīng)用程序。這就造成開發(fā)人員不但要求能夠編寫程序,熟悉業(yè)務(wù)邏輯,還要求開發(fā)人員同時能夠擔(dān)任DBA,對開發(fā)人員的要求很高;同時,當(dāng)引入新的項(xiàng)目時,很多地方必須廢棄,因?yàn)槲覀兊拇a中不光是業(yè)務(wù)邏輯,其中也嵌入了許多和底層有關(guān)的一些SQL代碼;

          另外這些嵌入在代碼中的SQL語句也影響了我們程序的可測試性,我們在對代碼進(jìn)行調(diào)試的時候,既要測試代碼,同時我們還要測試SQL語句。為了解決這些問題,引入了hibernate[10]。

          2.6.2使用Hibernate的好處

          (1)Hibernate是JDBC的輕量級的對象封裝,它是一個獨(dú)立的對象持久層框架,和App Server,和EJB沒有什么必然的聯(lián)系。Hibernate可以用在任何JDBC可以使用的場合,例如Java應(yīng)用程序的數(shù)據(jù)庫訪問代碼,DAO接口的實(shí)現(xiàn)類,甚至可以是BMP(Bean-Managed Persistence)里面的訪問數(shù)據(jù)庫的代碼。

          (2)Hibernate是一個和JDBC密切關(guān)聯(lián)的框架,所以Hibernate的兼容性和JDBC驅(qū)動,和數(shù)據(jù)庫都有一定的關(guān)系,但是和使用它的Java程序,和Application Server

          沒有任何關(guān)系,也不存在兼容性問題。

          (3)Hibernate不能用來直接和Entity Bean做對比,只有放在整個J2EE項(xiàng)目的框架中才能比較。并且即使是放在軟件整體框架中來看,Hibernate也是做為JDBC

          的替代者出現(xiàn)的,而不是Entity Bean的替代者出現(xiàn)的。

          (4)由于是對JDBC的輕易級封閉,內(nèi)存消耗少,最快的運(yùn)行效率。

          (5)開發(fā)效率高,Eclipse、JBuilder等主流JAVA集成開發(fā)環(huán)境對Hibernate有很好的支持,在大的項(xiàng)目,特別是持久層關(guān)系映射很復(fù)雜的情況下,Hibernate效率高的驚人。

          (6)分布式,安全檢查,集群,負(fù)載均衡的支持。

          2.6.3 Hibernate的工作原理

          Hibernate的工作就是為Object和Ralational之間提供一個映射,其工作流程如下面的圖2-4所示。

          圖2-4 hibernate工作流程

          (1) 啟動Hibernate,如果在系統(tǒng)中添加Hibernate的支持,此處加載由系統(tǒng)自動完成。

          (2) 讀取hibernate.cfg._ml或者h(yuǎn)ibernate.properties文件的配置信息,并將其加載為實(shí)例。

          (3) 構(gòu)建SessionFactory實(shí)例(包含二級緩存)。

          (4) 從SessionFactory中取得Session對象,從而可以調(diào)用其方法,對數(shù)據(jù)庫進(jìn)行操作,實(shí)現(xiàn)ORM的功能。

          Hibernate可以通過一個_ML的mapping文件把一個POJO(Plain old java object)和數(shù)據(jù)庫中的表對應(yīng)起來,在這個_ML文件(一般命名為_.hbm._ml)中,我們可以配置好Object和數(shù)據(jù)庫中標(biāo)的映射關(guān)系,然后把這個mapping加入到hibernate.cfg._ml中,這樣Hibernate在啟動時就可以加載這些mapping,并可以根據(jù)配置文件對對象實(shí)現(xiàn)自動的加載,并且可以對這些Object實(shí)習(xí)自動的維護(hù)。Hibernate還提供查詢語句(HQL)供應(yīng)用程序使用,Hibernate對數(shù)據(jù)訪問實(shí)現(xiàn)封裝,還可以對查詢語句的發(fā)送實(shí)現(xiàn)管理,達(dá)到優(yōu)化的目的,能夠有效減少數(shù)據(jù)庫的訪問頻率。

          2.7 Mysql

          數(shù)據(jù)庫(Database)是一系列信息資源的集合。在一個數(shù)據(jù)庫中,與一個項(xiàng)目有關(guān)的所有信息都可以叫做一條記錄(Record)。每一條記錄都是由一系列的字段(Field)組成的。一系列記錄的集合就構(gòu)成了數(shù)據(jù)表格(Table)。對于一個簡單的“平面文件”的數(shù)據(jù)庫來說,它僅包含了一個數(shù)據(jù)表格,而對一個“關(guān)系型”數(shù)據(jù)庫來說,它卻包含兩個或兩個以上的數(shù)據(jù)表格,表格的各字段之間存在這一種或多種關(guān)系(有時可以把這種關(guān)系叫做“鏈接”)。

          2.7.1 mysql的特點(diǎn)

          MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。

          由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進(jìn)行修改。MySQL因?yàn)槠渌俣取⒖煽啃院瓦m應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。它使用系統(tǒng)核心提供的多線程機(jī)制提供完全的多線程運(yùn)行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等編程語言的編程接口(APIs),支持多種字段類型并且提供了完整的操作符支持查詢中的SELECT和WHERE操作。

          目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫[11]。

          2.7.2 mysql的安裝和配置(部分截圖)[12]

          圖2-5 mysql安裝圖(開始)

          安裝時一般采用默認(rèn)路徑:

          圖2-6 mysql安裝圖(路徑)

          圖2-7 mysql安裝圖(數(shù)據(jù)庫類型)

          為了支持中文,在下面的列表框中學(xué)者gb2312(切記)

          圖2-8 mysql安裝圖(語言)

          圖2-9 mysql安裝圖(等待成功)

          2.8 Tomcat服務(wù)器

          2.8.1 Tomcat 服務(wù)器簡介

          Tomcat是一個免費(fèi)的開源的Serlvet容器,它是Apache基金會的Jakarta項(xiàng)目中的一個核心項(xiàng)目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。 Tomcat中采用了Servlet容器:Catalina,完整的實(shí)現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從其官方網(wǎng)站上下載其源代碼版或者二進(jìn)制版。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性[13]。

          2.8.2 Tomcat的特點(diǎn)

          在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個_ml文件中。通過這個應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。

          2.8.3 Tomcat的優(yōu)勢

          Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。

          2.8.4 Tomcat服務(wù)器的安裝和配置

          在開始安裝之前,先準(zhǔn)備J2SDK和TOMCAT兩個軟件,如果已經(jīng)安裝了J2SDK,就只需TOMCAT即可。

          (1)需設(shè)置的環(huán)境變量

          變量名:CATALINA_HOME

          變量值:D:/Program Files/tomcat6.0

          變量名:CLASSPATH

          變量值:.;%JAVA_HOME%/lib;%CATALINA_HOME%/common/lib

          (2)安裝完成后,打開tomcat服務(wù)器,啟動瀏覽器,在地址欄上輸入:http://localhost:8080/ 若出現(xiàn)以下界面說明安裝成功[14]。

          圖2-10 tomcat啟動頁面

          小結(jié)

          本章全面介紹本系統(tǒng)所用到的關(guān)鍵技術(shù)和工具,其中jsp作為javaweb開發(fā)的基礎(chǔ),對它的運(yùn)行機(jī)制要理解,同時還要明白它的優(yōu)劣勢;j2ee作為開發(fā)的標(biāo)準(zhǔn)也作了簡單介紹。而SSH(struts+spring+hibernate)作為本系統(tǒng)的核心與亮點(diǎn)技術(shù),更是作了詳細(xì)介紹,要掌握他們的工作原理,主要功能。最后介紹了本系統(tǒng)使用的數(shù)據(jù)庫mysql以及tomcat服務(wù)器的安裝與配置。只有掌握了這些技術(shù)基礎(chǔ),才能使本系統(tǒng)的開發(fā)正常進(jìn)行。

          第三章 系統(tǒng)需求分析和總體設(shè)計

          3.1 系統(tǒng)功能需求

          圖3-1 系統(tǒng)功能模塊

          如圖3-1所示,在本系統(tǒng)中主要闡述用戶管理、購物車管理、訂單管理、產(chǎn)品展示四個模塊。

          (1)購物車管理:實(shí)現(xiàn)添加商品、取消一個商品、數(shù)量修改、清空購物車功能。

          (2)訂單管理:實(shí)現(xiàn)提交訂單、刪除訂單、查詢訂單功能。

          (3)產(chǎn)品展示:實(shí)現(xiàn)產(chǎn)品列表、產(chǎn)品明細(xì)功能。

          (4)用戶管理:實(shí)現(xiàn)用戶注冊、用戶信息修改、用戶刪除、用戶查詢功能。

          3.2 系統(tǒng)角色及其功能分析

          3.2.1 系統(tǒng)的3個角色:

          (1)注冊用戶

          (2)管理員

          (3)普通的網(wǎng)站瀏覽者(即游客)

          3.2.2 系統(tǒng)角色的功能

          (1)普通用戶

          網(wǎng)站的普通瀏覽者(即游客)只能瀏覽商品。

          (2)注冊用戶

          普通瀏覽者只要注冊為網(wǎng)站用戶后,獲得自己的帳號,設(shè)置自己的密碼就具有以下功能:登錄,登出,向購物車中添加商品,生成并提交訂單。添加或修改個人明細(xì)資料。

          (3)管理員

          擁有注冊用戶的所有功能

          還可以對用戶進(jìn)行管理,包括添加新用戶、修改用戶密碼、刪除用戶。

          3.3 總體設(shè)計思想概述

          本系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)[15]。

          在軟件體系架構(gòu)設(shè)計中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(持久)層、業(yè)務(wù)邏輯層(或稱為領(lǐng)域?qū)?、表示層[16],如圖3-2:

          圖3-2 系統(tǒng)架構(gòu)

          總的來說,采用分層結(jié)構(gòu)的設(shè)計思想,可以讓每個層由一組相關(guān)的類或組件構(gòu)成,共同完成特定的功能。層與層之間存在自上而下的依賴關(guān)系,上層組件會依賴下層組件的API,而下層組件則不依賴于上層組件。例如:表述層依賴于業(yè)務(wù)邏輯層,而業(yè)務(wù)邏輯層依賴于數(shù)據(jù)庫層。并且每個層對對上層公開API,但具體的實(shí)現(xiàn)細(xì)節(jié)對外透明。當(dāng)某一層發(fā)生變化,只要API不變,不會影響其他層的實(shí)現(xiàn)。

          在本系統(tǒng)中,使用開源的mysql數(shù)據(jù)庫,持久層用到spring所集成的Hibernate技術(shù),業(yè)務(wù)邏輯層用普通javabean實(shí)現(xiàn),表述層運(yùn)用基于struts的MVC設(shè)計模式(struts用來做C層,spring實(shí)現(xiàn)V層與C層的解耦以及C層與M層的解耦)。

          3.4 數(shù)據(jù)庫設(shè)計

          3.4.1 E-R圖

          下面是該系統(tǒng)數(shù)據(jù)庫表的E-R圖,如圖3-3:

          圖3-3 E-R圖

          3.4.2數(shù)據(jù)表的設(shè)計

          下面列出了設(shè)計過程中所用到的數(shù)據(jù)庫表及其結(jié)構(gòu):

          orders表用來保存客戶的訂單信息,如表3-1:

          1. orders

          列名類型長度描述

          orderidint11訂單ID

          totalpriceNUMBER16總價錢

          orderstateNUMBER1訂單狀態(tài)

          payinfoDATE 付款方式

          CreatetimeDATE 創(chuàng)建日期

          useridVARCHAR220用戶ID

          User_item_idNUMBER8用戶明細(xì)ID

          表3-1 orders

          2. orderline表用來保存客戶訂單中的訂單項(xiàng)信息,如表3-2:

          3. orderline

          列名類型長度描述

          order_item_idNUMBER16訂單條目ID

          ProductidNUMBER16商品對象ID

          OrderidVARCHAR220訂單對象ID

          qualityNUMBER8數(shù)量

          numNUMBER8商品數(shù)量

          表3-2 orderline

          3.orderstatus表用來保存定單狀態(tài),如表3-3:

          orderstatus

          列名類型長度描述

          statusidint11狀態(tài)ID

          namevarchar30狀態(tài)名

          descriptionvarchar100描述

          表3-3 orderstatus

          4.users表用來保存用戶個人信息,如表3-4:

          users

          列名類型長度描述

          user_idint11用戶ID

          passwordvarchar15用戶密碼

          表3-4 users

          5.contactinfo表用來保存用戶個人明細(xì),如表3-5:

          contactinfo

          列名類型長度描述

          contact_idint11

          User_idvarchar30用戶id

          Street1varchar64住址1

          Street2varchar64住址2

          cityvarchar32城市

          provincevarchar32省份

          Countryvarchar32國家

          zipvarchar20郵編

          officephonevarchar50辦公室電話

          cellphonevarchar20手機(jī)

          emailvarchar20電郵

          homephonevarchar12家庭電話

          表3-5 contactinfo

          6.product表用來保存商品,如表3-6:

          product

          列名類型長度描述

          productidint11產(chǎn)品

          modlevarchar30產(chǎn)品型號

          namevarchar15品牌名

          companyvarchar20出品公司

          weightdouble50產(chǎn)品重量

          pricedouble20價格

          statevarchar20產(chǎn)品狀態(tài)

          createtimedate 出廠日期

          CategoryidInt10產(chǎn)品類型

          descriptionvarchar1000產(chǎn)品描述

          表3-6 product

          7.category表用來保存商品類型,如表3-7:

          category

          列名類型長度描述

          categoryidint11類型ID

          namevarchar30類型名

          descriptionvarchar100描述

          表3-7 category

          8. payway表用來保存權(quán)限信息,如表3-8:

          payway

          列名類型長度描述

          paywayidint11ID

          payStylevarchar30名

          表3-8 payway

          3.5 系統(tǒng)的類設(shè)計

          3.5.1 DAO類設(shè)計

          圖3-4 dao類設(shè)計

          如圖3-4,通過這個工廠獲取對應(yīng)的 DAO,然后使用DAO 進(jìn)行數(shù)據(jù)庫操作。

          3.5.2 POJO類設(shè)計(部分)

          圖3-5 POJO類設(shè)計

          這些實(shí)體類將通過hibernate映射到數(shù)據(jù)庫中

          3.5.3 過濾器類設(shè)計

          圖3-6 過濾器類設(shè)計1

          如圖3-6,這是編碼過濾器類,通過他可保證頁面不出現(xiàn)亂碼問題。

          圖3-7 過濾器類設(shè)計2

          如圖3-7,這是登陸安全過濾器類,通過它來達(dá)到控制訪問權(quán)限的功能。

          3.5.4 監(jiān)聽器類設(shè)計

          如圖3-8,“CartSessionListener”啟動時把購物車信息初始化到內(nèi)存中,提高系統(tǒng)性能?!癙roductConte_tListener”啟動時把商品信息初始化到內(nèi)存中,提高系統(tǒng)性能。

          圖3-8 監(jiān)聽器類設(shè)計

          3.6系統(tǒng)的用例圖

          3.6.1 總體用例分析

          圖3-9 總體用例圖

          如圖3-9,用戶管理、購物車管理、訂單管理、產(chǎn)品展示四個模塊構(gòu)成了本網(wǎng)上交易系統(tǒng)。User是指系統(tǒng)用戶,包括注冊用戶和匿名用戶兩種,匿名用戶只可以瀏覽商品,匿名用戶通過用戶管理模塊注冊后就可以使用購物車和下訂單。

          3.6.2 用戶管理用例分析

          圖3-10 用戶管理用例圖

          如圖3-10,用戶管理模塊主要包括:用戶登陸、用戶注冊、用戶信息修改、用戶刪除、用戶信息查詢五個功能組成。

          3.6.3 購物車管理用例分析

          圖3-11 購物車管理用例圖

          如圖3-11,購物車管理模塊主要包括:添加商品、取消一個商品、數(shù)量修改、清空購物車四個功能組成。

          3.6.4 訂單管理用例分析

          圖3-12 訂單管理用例圖

          如圖3-12,訂單管理模塊主要包括:訂單提交、刪除訂單、訂單明細(xì)三個功能組成。

          3.6.5 產(chǎn)品展示用例分析

          圖3-13 產(chǎn)品展示用例圖

          如圖3-13,商品展示模塊主要包括:產(chǎn)品列表、產(chǎn)品明細(xì)兩個功能組成。

          小結(jié)

          本章首先分析系統(tǒng)的功能需求,通過對系統(tǒng)功能模塊的劃分以及角色的劃分,明確了系統(tǒng)需求,為總體設(shè)計提供依據(jù)。接下來闡述了系統(tǒng)的總體設(shè)計思想,說明了本系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。最后通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實(shí)體類的設(shè)計分析,以及各個模塊用例圖的描述,形成了開發(fā)的整體思路,為下一步編程實(shí)現(xiàn)各個具體功能鋪平了道路。

          第四章 系統(tǒng)的詳細(xì)設(shè)計

          4.1 數(shù)據(jù)庫與POJO映射的實(shí)現(xiàn)

          前面第二章曾介紹過:Hibernate可以通過一個_ML的mapping文件把一個POJO(Plain old java object)和數(shù)據(jù)庫中的表對應(yīng)起來,在這個_ML文件(一般命名為_.hbm._ml)中,我們可以配置好Object和數(shù)據(jù)庫中表的映射關(guān)系,然后把這個mapping加入到hibernate.cfg._ml中,這樣Hibernate在啟動時就可以加載這些mapping,并可以根據(jù)配置文件對對象實(shí)現(xiàn)自動的加載,并且可以對這些Object實(shí)習(xí)自動的維護(hù)。

          由于Spring提供了對Hibernate的集成,所以我們可以不配置hibernate.cfg._ml文件,而通過在applicationConte_t._ml文件中進(jìn)行相關(guān)配置來達(dá)到同樣的目的。圖例說明如下:

          圖4-1 user.hbm._ml

          如圖4-1,user.hbm._ml文件配置了user類的相關(guān)信息。

          圖4-2 session工廠配置

          圖4-2是applicationConte_t._ml文件中Session工廠的配置信息,可以看到,圖中的mappingResources屬性中囊括了所有我們需要的mapping文件。

          4.2 主要模塊的設(shè)計說明與界面

          4.2.1用戶管理模塊

          用戶管理模塊主要包括用戶注冊,登錄,退出3個部分.

          (1)用戶注冊

          當(dāng)用戶第一次登錄時首先要注冊,成為會員后,才可以購買物品.用戶可以通過單擊首頁的注冊按鍵來打開注冊頁面進(jìn)行會員注冊操作,用戶注冊頁面的運(yùn)行結(jié)果如圖4-3所示.

          圖4-3用戶登錄/注冊界面

          如果用戶的注冊信息不符合要求,系統(tǒng)會提示用戶,部分結(jié)果如圖4-4:

          圖4-4登錄信息提示界面

          校驗(yàn)用戶注冊信息是是否正確的javaScript部分代碼如下[17]:

          當(dāng)用戶確認(rèn)所提按信息無誤后,單擊“注冊“按鈕,系統(tǒng)會執(zhí)行以下流程:

          request 請求將頁面上的信息傳遞到控制層的struts中的Action類中,執(zhí)行以下代碼

          /_

          _注冊一個新用戶

          _/

          public ActionForward register(ActionMapping mapping,

          ActionForm form,HttpServletRequest req, HttpServletResponse res) throws E_ception {

          ActionForward forward = null;

          RegisterActionForm registerForm = (RegisterActionForm) form;

          User user = registerForm.getUser();

          ContactInfo contactInfo = registerForm.getContactInfo();

          if (userBiz.getUserById(user.getUserid()) != null) {

          user.setContactinfo(contactInfo);

          req.setAttribute("user", user);

          forward = mapping.findForward("refresh");

          } else {

          try {

          log.debug("begin save user info . . .");

          userBiz.userRegister(user, contactInfo);

          req.setAttribute("TIP_KEY", "恭喜您!注冊成功!");

          forward = mapping.findForward("success");

          } catch (ECPortE_ception be) {

          forward = mapping.findForward("fail");

          be.printStackTrace();

          log.error("save user info error. . .", be);

          }

          }

          return forward;

          }

          在UserService中調(diào)用dao中的addUser方法,代碼如下:

          public void addUser(User user) throws StoreE_ception {

          .....

          try {

          session = HibernateSessionFactory.getSession();

          t_ = session.beginTransaction();

          session.save(user);

          t_.commit();

          } .....

          }

          在注冊成功后,會跳轉(zhuǎn)到這樣的頁面,如圖4-4:

          圖4-4注冊成功界面

          (2)用戶登錄

          網(wǎng)站首頁在用戶第一次訪問時會判斷用戶是否登錄,未登錄則顯示用戶登錄窗口,提示用戶登錄或注冊.對于已經(jīng)登錄的用戶,在用戶登錄窗口將顯示用戶的相關(guān)信息.

          首頁主要是根據(jù)保存用戶名信息的Session參數(shù)來判斷用戶是否已經(jīng)登錄的,關(guān)鍵代碼如下:

          在會員登錄窗口中單擊登錄按紐后,系統(tǒng)將對用戶名和密碼進(jìn)行驗(yàn)證,判斷用戶是否是已注冊用戶,如果已注冊,則更新用戶在網(wǎng)站中的狀態(tài),如果沒有注冊,則拒絕用戶的登錄操作,登錄數(shù)據(jù)驗(yàn)證的程序代碼如下:

          /_

          _用戶登錄方法

          _/

          public ActionForward login(ActionMapping mapping, ActionForm form,

          HttpServletRequest request, HttpServletResponse response)

          throws E_ception {

          String username = request.getParameter("userid");

          String password = request.getParameter("password");

          if (userService.isLoginCorrect(username, password)) {

          User user = userService.getUserByName(username);

          /_

          _只有在用戶登錄的時候才創(chuàng)建一個session,并且把用戶的信息存放到session中;

          _同時sessionListener也會把car同時也放到session中,這樣能保證為每一個來

          _網(wǎng)站需要購物的用戶分配一個session,一個購物車,并且也可以利用session來 跟蹤用戶.

          _/

          HttpSession session = ((HttpServletRequest) request).getSession(true);

          session.setAttribute("user", user);

          return mapping.findForward("loginsuccess");

          } else {

          String message = "用戶名或者密碼錯誤!";

          request.setAttribute("message", message);

          return mapping.findForward("loginfailed");

          }

          }

          public User getUserByName(String name) throws StoreE_ception {

          Session session = null;

          try {

          session = HibernateSessionFactory.getSession();

          User user = (User) session.createQuery(

          "from User u where u.username = '" + name + "'")

          .uniqueResult();

          return user;

          } ....

          }

          (3)用戶退出

          當(dāng)用戶決定退出網(wǎng)站時,只要點(diǎn)擊當(dāng)前頁面上的“退出”按鈕,就會回到首頁。

          實(shí)現(xiàn)代碼如下:

          /_

          _用戶退出系統(tǒng)并做一些清理工作;

          _/

          public ActionForward logout(ActionMapping mapping, ActionForm form,

          HttpServletRequest request, HttpServletResponse response)

          throws E_ception {

          HttpSession session = request.getSession();

          session.removeAttribute("user");

          session.removeAttribute("cart");

          return mapping.findForward("logout");

          }

          (4)管理員登錄

          系統(tǒng)設(shè)置了一個默認(rèn)的管理員admin,只要通過此用戶名登錄就可進(jìn)入管理員界面,如圖4-5和圖4-6所示:

          圖4-5 管理員登錄

          圖4-6 管理員界面

          主要代碼如下:

          public ActionForward toModify(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          HttpSession cur_session = req.getSession(false);

          User user = (User) cur_session.getAttribute("USER");

          String userid = user.getUserid();

          String reqUserid = req.getParameter("userid");

          if (reqUserid == null) {

          List userList = userBiz.findAllUsers();

          cur_session.setAttribute("userList", userList);

          if (userid.equals("admin")) {

          return mapping.findForward("adminInfo");

          } else {

          User p_user = userBiz.getUserById(userid);

          req.setAttribute("user", p_user);

          }

          }

          if (reqUserid != null) {

          User p_user = userBiz.getUserById(reqUserid);

          req.setAttribute("user", p_user);

          }

          return mapping.findForward("modify");

          }

          4.2.2購物車管理模塊

          購物車管理模塊主要功能有如下幾個部分:

          (1)創(chuàng)建購物車

          當(dāng)客戶登錄后,系統(tǒng)會給客戶創(chuàng)建一個購物車放入服務(wù)器的Session會話中。使客戶在整個會話中都擁有一個相同的購物車。這里主要運(yùn)用了Http協(xié)議中的會話機(jī)制,將購物車保存在客戶的會話中,這樣在整個客戶游覽不同頁面商品的過程中,都會使用同一個購物車對象。

          具體執(zhí)行步驟:

          (1)從客戶的請求對象中獲取Session會話對象

          (2)從會話對象中獲取購物車對象

          (3)判斷是購物車對象是不是空的,如果是空是就創(chuàng)建一個

          /_

          _在監(jiān)聽到session被創(chuàng)建之后,就立即向session中添加一個購物車Car;

          _/

          public void sessionCreated(HttpSessionEvent arg0) {

          HttpSession session = arg0.getSession();

          Cart cart=new Cart();

          session.setAttribute("cart", cart);

          }

          /_

          _從session中獲得購物車

          _/

          Cart cart = (Cart) session.getAttribute("cart");

          if (cart == null) {

          cart = new Cart();

          }

          (2)向購物車中添加一個商品項(xiàng)

          客戶在查看網(wǎng)頁上的一個商品時,當(dāng)向服務(wù)器發(fā)送一個“添加到購物車”的請求時,會執(zhí)行這個功能。

          功能執(zhí)行過程:

          (1)從客戶請求對象中獲取商品的ID

          (2)調(diào)用業(yè)務(wù)層的方法根據(jù)商品ID去數(shù)據(jù)查詢商品的信息,返回商品對象

          (3)從商品對象中獲取商品名,商品價格,來構(gòu)建一個商品項(xiàng)對象

          (4)從Session會話中獲取購物車對象

          (5)調(diào)用業(yè)務(wù)層的方法來根據(jù)購物車對象和商品項(xiàng)對象來執(zhí)行添加操作

          (6)將些商品項(xiàng)對象放入到購物車中

          部分實(shí)現(xiàn)代碼:

          /_

          _從數(shù)據(jù)庫中把商品取到;

          _/

          ProductService productService = (ProductService) ServiceFactory.getInstance().getService(Globals.PRODUCT_SERVICE);

          Integer id = Integer.parseInt(request.getParameter("productid"));

          Product product = productService.getProductById(id);

          /_

          _在向購物車中添加商品的時候會判斷商品是否已經(jīng)存在,

          _已存在的就不讓在加入了;

          _/

          if (cart.isE_ist(id)) {

          message = "該商品已經(jīng)存在!請返回!";

          request.setAttribute("message", message);

          return mapping.findForward("error");

          } else {

          /_

          _向購物車添加一個商品;

          _/

          cart.addCart(product);

          session.setAttribute("cart", cart);

          return mapping.findForward("addcartsuccess");

          }

          (3) 修改購物車中一個商品項(xiàng)

          在客戶查看購物車時,想修改自己的購買商品時,會執(zhí)行這個功能。由于商品的名稱和價格都是系統(tǒng)管理人員設(shè)置的,所以客戶都不可以修改,客戶只能修改他/她所購買商品的數(shù)量。修改所選購的商品數(shù)量時,相應(yīng)的商品項(xiàng)的小計和購物車的總計都會保持實(shí)時的更新,如圖4-7。

          圖4-7 修改商品數(shù)量

          功能的執(zhí)行步驟:

          (1)將ActionForm轉(zhuǎn)換為ItemForm對象

          (2)從ItemForm對象中獲取商品ID

          (3)從Session會話中獲取購物車對象

          (4)根據(jù)商品ID去調(diào)用業(yè)務(wù)層的方法去修改商品項(xiàng)

          (5)修改小計

          (6)將些商品項(xiàng)對象放入到購物車中

          部分實(shí)現(xiàn)代碼:

          public ActionForward modifyNumber(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          String tempid = req.getParameter("productId");

          Long productId = Long.parseLong(tempid);

          String tempNum = req.getParameter("num" + productId);// num是一與JSP頁面一致的字符串

          int num = new Integer(tempNum).intValue();

          HttpSession session = req.getSession(false);

          IShoppingCart cart = (IShoppingCart) session

          .getAttribute("SHOPPING_CART");

          cart.modifyProductAmountById(productId, num);

          return mapping.findForward("success");

          }

          (4)查看購物車

          客戶選取了所有的商品后,來向服務(wù)器發(fā)送“購物車”請求時,會執(zhí)行此功能,系統(tǒng)根據(jù)會話中的購物車中的商品項(xiàng),來獲取客戶所選選商品的一個集合,在JSP頁面上對這個集合中的商品項(xiàng)進(jìn)行顯示,如圖4-8。

          圖4-8 我的購物車

          功能的執(zhí)行步驟:

          (1)從客戶的請求對象中獲取購物車對象

          (2)從購物車對象中獲取所有的商品項(xiàng)

          (3)將所有的商品項(xiàng)對象加載到請求對象中發(fā)送給客戶端

          部分實(shí)現(xiàn)代碼:

          var="orderLine" items="${sessionScope.SHOPPING_CART.orders.orderlines}" varStatus="status">

          (5)刪除購物車中的一個商品項(xiàng)

          客戶在查看購物車時,當(dāng)向服務(wù)器發(fā)送一個“刪除商品項(xiàng)”的請求時,會執(zhí)行這個功能。刪除商品項(xiàng)時,系統(tǒng)會自動更新購物車的總計值,如圖4-9:

          圖4-9 刪除商品

          功能執(zhí)行過程:

          1從客戶請求對象中獲取商品的ID

          2調(diào)用業(yè)務(wù)層的方法根據(jù)商品ID去數(shù)據(jù)查詢商品的信息,返回商品對象

          3從Session會話中獲取購物車對象

          4調(diào)用業(yè)務(wù)層的方法根據(jù)商品ID去刪除購物車對象中的商品項(xiàng)

          5將購物車重新加入到Session會話中,來更新Session會話中的購物車對象

          部分代碼實(shí)現(xiàn):

          //刪除購物車中一個商品項(xiàng)

          public ActionForward deleteById(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          String tempid = req.getParameter("productId");

          Long productId = Long.parseLong(tempid);

          HttpSession session = req.getSession(false);

          ShoppingCart cart = (ShoppingCart) session

          .getAttribute("SHOPPING_CART");

          cart.removeProductById(productId);

          if (cart.isEmpty()) {

          return mapping.findForward("inde_");

          }

          return mapping.findForward("success");

          }

          (6)清空購物車

          客戶在查看購物時不要想要所有所選的商品時,向服務(wù)器發(fā)送“清空購物車”請求時會執(zhí)行此功能。如圖4-10:

          圖4-10 清空購物車

          執(zhí)行此功能的步驟:

          (1)從請求對象中獲取Session會話

          (2)從Session會話中獲取購物車對象

          (3)將購物車對象傳給業(yè)務(wù)層的方法去清空購物車中的所有商品項(xiàng)

          部分實(shí)現(xiàn)代碼:

          /_

          _也就是從session中把購物車清除掉;

          _/

          public ActionForward clearShopCart(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          HttpSession session = req.getSession(false);

          IShoppingCart cart = (IShoppingCart) session

          .getAttribute("SHOPPING_CART");

          cart.removeAllProducts();

          return mapping.findForward("inde_");

          }

          4.2.3 定單模塊

          生成訂單是網(wǎng)上購物商城的最終目的,前面的所有的功能的實(shí)現(xiàn)都是為最后生成一個用戶滿意的訂單做基礎(chǔ),在此要生成一個可以供用戶隨時查詢訂單號,還要保存用戶訂單中所購買的商品信息。當(dāng)用戶確認(rèn)對購物車不再改變后,就可以到收銀臺結(jié)帳并生成訂單。結(jié)帳的流程是:從購物車中讀取商品名稱,商品數(shù)量,商品價格信息,生成唯一的一個訂單號,同時也把用戶注冊的基本信息讀取出來,形成一個完整的訂單寫入數(shù)據(jù)庫中。

          1、創(chuàng)建一個訂單

          客戶選好了所有的商品時,并確認(rèn)要買時,會向服務(wù)器發(fā)送一個“生成定單”的請求,運(yùn)行結(jié)果如圖4-11:

          圖4-11 生成訂單

          此時用戶可以添加收貨人的地址,點(diǎn)擊圖中的用戶信息“修改”,會彈出一個頁面,在此修改收貨人地址等信息,如圖4-12:

          圖4-12 修改收貨地址

          /_

          _將修改后的地址保存到數(shù)據(jù)庫中,其中保存了用戶的信息:id

          _/

          public void addUserItem(UserItem useritem) throws StoreE_ception {

          ..

          try {

          session = HibernateSessionFactory.getSession();

          t_ = session.beginTransaction();

          session.save(useritem);

          t_.commit();

          } ..

          }

          用戶確認(rèn)無誤后點(diǎn)擊圖4-11的“提交訂單“,會出現(xiàn)下圖:

          圖4-13 訂單列表

          部分實(shí)現(xiàn)代碼:

          /_

          _確定定單

          _/

          public ActionForward checkOut(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          ActionForward forward = null;

          GregorianCalendar gc = new GregorianCalendar();

          Long paywayid = Long.parseLong(req.getParameter("payway"));

          PayWay pw = new PayWay(paywayid);

          List orderStatus = (List) req.getSession().getServletConte_t()

          .getAttribute("all_orderStatus");

          OrderStatus os = (OrderStatus) orderStatus.get(1);

          HttpSession session = req.getSession(false);

          User user = (User) session.getAttribute("USER");

          ShoppingCart cart = (ShoppingCart) session

          .getAttribute("SHOPPING_CART");

          // Map orderLineMap = cart.getOrderLineMap();

          Orders order = cart.getOrders();

          order.setUsers(user);

          order.setCost(cart.getTotalPrice());

          order.setName(user.getUserid() + "-" + gc.get(gc.YEAR) + ""

          + gc.get(gc.MONTH) + "" + gc.get(gc.DAY_OF_MONTH));

          order.setPayway(pw);

          order.setOrderstatus(os);

          try {

          log.debug("=== begin to generator order =====");

          orderBiz.checkOut(order);

          log.debug("==== generator order success . . .");

          forward = mapping.findForward("success");

          } catch (ECPortE_ception be) {

          forward = mapping.findForward("fail");

          log.error("==== save user order fail...", be);

          be.printStackTrace();

          }

          cart.removeAllProducts(); // 定單產(chǎn)生后應(yīng)清楚當(dāng)明購物車中的商品

          return forward;

          }

          /_

          _向數(shù)據(jù)庫中保存一個指定的order對象;

          _/

          public void save(Orders transientInstance) {

          log.debug("saving Orders instance");

          try {

          getSession().save(transientInstance);

          log.debug("save successful");

          } catch (RuntimeE_ception re) {

          log.error("save failed", re);

          throw re;

          }

          }

          2.查看定單

          客戶確認(rèn)了所有的訂單選項(xiàng)后,可以向服務(wù)器 發(fā)送“查看定單明細(xì)”的請求:當(dāng)用戶點(diǎn)擊了圖4-13上的“明細(xì)”按鈕是,頁面運(yùn)行結(jié)果如下:

          圖4-14 訂單明細(xì)

          部分代碼實(shí)現(xiàn):

          /_

          _根據(jù)指定的order對象來獲得屬于該order的所有orderline項(xiàng);

          _/

          public ActionForward orderDetail(ActionMapping mapping, ActionForm form,

          HttpServletRequest req, HttpServletResponse res) throws E_ception {

          ActionForward forward = null;

          String tempid = req.getParameter("orderid");

          Long orderid = Long.parseLong(tempid);

          Orders order = null;

          try {

          order = orderBiz.getOrderById(orderid);

          log.debug("=== get order successful.===");

          req.setAttribute("ORDER", order);

          forward = mapping.findForward("showinfo");

          } catch (ECPortE_ception be) {

          log.error("==== get failed .====");

          forward = mapping.findForward("fail");

          }

          return forward;

          }

          4.3 系統(tǒng)的測試

          測試是軟件開發(fā)必不可少的環(huán)節(jié),每個開發(fā)者都應(yīng)該養(yǎng)成良好的測試習(xí)慣,一個系統(tǒng)的完善就是通過不斷地測試與維護(hù)來完成的。

          測試的意義有以下幾點(diǎn)[18]:

          (1)測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時改進(jìn);

          (2)這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性;

          (3)沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法。

          測試一般有兩種方法:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗(yàn)是否每個功能都能正常使用;如果知道產(chǎn)品內(nèi)部工作過程,可以通過測試來檢驗(yàn)產(chǎn)品的內(nèi)部動作是否按照說明書的規(guī)定正常運(yùn)行。前一個方法稱為黑盒測試,后一個稱為白盒測試。

          對于本系統(tǒng),我采取第一個方法,即黑盒測試。做完一個模塊,就進(jìn)行測試,看所做的模塊能不能實(shí)現(xiàn)所需要的功能。經(jīng)過了先期的模塊測試和后期的綜合測試,本系統(tǒng)實(shí)現(xiàn)了規(guī)格說明書的所有功能,達(dá)到了預(yù)期的要求。

          小結(jié)

          本章詳細(xì)介紹了系統(tǒng)主要功能模塊的具體實(shí)現(xiàn),包括用戶管理模塊、購物車模塊和定單模塊,分析他們的設(shè)計思路,執(zhí)行步驟,并給出了每個功能的主要實(shí)現(xiàn)代碼,還有為每個功能的最終執(zhí)行結(jié)果配上截圖,讓我們看到更直觀的效果。最后對完成的系統(tǒng)進(jìn)行了測試,介紹了兩種主流的測試方法,給出了測試結(jié)果,達(dá)到了預(yù)期的要求。

          第五章 總結(jié)與展望

          5.1工作總結(jié)

          開發(fā)Web站點(diǎn),是一項(xiàng)復(fù)雜、繁重的工作,需要多方面的知識。

          此次通過設(shè)計網(wǎng)上交易系統(tǒng),使我接觸到許多基于java語言的WEB網(wǎng)絡(luò)開發(fā)方面的知識,包括HTML語言,CSS級聯(lián)樣式表,客戶端開發(fā)語言JavaScript,MVC分層體系結(jié)構(gòu),支持MVC架構(gòu)的struts框架,開源服務(wù)器Tomcat,mysql數(shù)據(jù)庫,服務(wù)器端開發(fā)語言JSP等,這些語言(或技術(shù))擴(kuò)展了我的知識面,也使我在制作的過程中對它們的特點(diǎn),應(yīng)用方向等有了基本的了解,并在實(shí)際的應(yīng)用中大致明白如何將它們?nèi)诤线\(yùn)用,以開發(fā)出界面美觀,功能強(qiáng)大的Web站點(diǎn)來。

          通過本次親自動手設(shè)計系統(tǒng),我更加深刻的了解系統(tǒng)開發(fā)的全過程,從中我熟練掌握了B/S結(jié)構(gòu)Web應(yīng)用軟件設(shè)計的思想及其開發(fā)的全過程。首先要進(jìn)行系統(tǒng)的需求分析,分析系統(tǒng)要達(dá)到什么功能,系統(tǒng)要劃分為幾個模塊來設(shè)計,系統(tǒng)的具體功能應(yīng)當(dāng)如何去實(shí)現(xiàn);分析完之后,考慮其涉及到的計算機(jī)專業(yè)知識,把問題細(xì)化,把大的問題劃分為小的問題,然后逐個進(jìn)行解決。畢業(yè)設(shè)計開始階段,由于我們沒有軟件架構(gòu)的設(shè)計經(jīng)驗(yàn),所以在項(xiàng)目的業(yè)務(wù)流程和軟件的開發(fā)規(guī)范上犯了很的錯誤,所以在后期的組裝過程變的非常的困難。

          設(shè)計收獲:

          1.掌握了網(wǎng)站開發(fā)的基本流程,設(shè)計整個網(wǎng)站的功能模塊圖;

          2.掌握了如何搭建和配置一個Tomcat服務(wù)器;

          3.掌握了使用JSP編程,實(shí)現(xiàn)對信息的顯示、修改、刪除和添加等;

          遇到的問題:

          1.JSP中文亂碼問題的解決

          對于JSP中文亂碼問題的處理,常用的方法有兩種:一種方法是在JSP頁面上設(shè)置頁面的“contentType”屬性。這種方法就是在頁面開始時,設(shè)置頁面的“contentType”屬性,例如:

          另一種方法是輸出中文信息時使用“ISO 8859-1”編碼。這種方法是在輸出中文信息之前,對中文信息進(jìn)行一次“ISO 8859-1”編碼。

          2.Java.lang.NullPointerE_ception異常

          一般是對一個為NULL值的變量進(jìn)行操作引起的。為了避免這種異常,最好在對變量操作之前檢查看它是否為NULL值。

          3.SQL語句換行書寫時未加適當(dāng)?shù)目崭穸鴮?dǎo)致的錯誤。我們先看一段代碼,

          String test=aaa;

          String sql=〞select _from test〞+

          〞where test1=’〞+a+〞’〞+

          〞and test2=bbb〞;

          上面所示的代碼在執(zhí)行時將轉(zhuǎn)換成這樣的SQL語句:

          Select _from testwhere test1=’aaa’ and test2=bbb

          從輸出的SQL語句可以看出test和where之間,以及’aaa’和and之間都缺空格,這樣是不能從數(shù)據(jù)庫中取出數(shù)據(jù)的.正確的寫法如下:

          String test=aaa;

          String sql=〞select _from test〞+

          〞 where test1=’〞+a+〞’〞+

          〞 and test2=bbb〞;

          5.2 后續(xù)工作展望

          由于個人能力有限以及實(shí)踐經(jīng)驗(yàn)欠缺,系統(tǒng)基本滿足在線電子產(chǎn)品交易的功能需求,本系統(tǒng)不可避免有不足之處,如一些系統(tǒng)功能過于簡單,所以系統(tǒng)的功能還算不上很完善。希望老師和同學(xué)能給予建議和指導(dǎo)。

          參考文獻(xiàn)

          [1] 景玉建.電子商務(wù)的發(fā)展與前景[J].《職業(yè)時空》,2005年第13期,P10-11

          [2] 張孝祥.深入Java Web開發(fā)內(nèi)幕——核心基礎(chǔ)[M].北京:電子工業(yè)出版社.北京.2006.10

          致謝

          本次畢業(yè)設(shè)計的最終完成離不開很多人的大力協(xié)助。衷心的感謝上海達(dá)內(nèi)科技有限公司在我實(shí)習(xí)期間交給我這個項(xiàng)目任務(wù),使我有了設(shè)計課題,還感謝在實(shí)習(xí)期間給我?guī)椭捻?xiàng)目經(jīng)理以及公司同事。真誠的感謝本次畢業(yè)設(shè)計的指導(dǎo)老師-宋玲教授,給了我自由選題的機(jī)會,在我的論文審稿階段指出了很多方面的不足,并一一給出修改意見,對我進(jìn)行悉心指導(dǎo),對我的畢業(yè)論文最終完成給予了極大的支持和幫助。

          特別感謝曹杰師兄,在畢業(yè)設(shè)計中遇到難點(diǎn)的時候,熱情和耐心地給予指導(dǎo),對我畢業(yè)設(shè)計工作的順利完成有著重要的意義。

          最后,再一次感謝所有幫助過我的人們! 

          java畢業(yè)論文范文篇四:

          摘要

          本文圍繞Java編程語言在網(wǎng)絡(luò)編程方面的具體應(yīng)用,論述了使用面向?qū)ο蠓椒?,對計算器程序進(jìn)行需求分析、概要設(shè)計、詳細(xì)設(shè)計,最后使用Java編程實(shí)現(xiàn)的全過程。

          java語言,是目前比較流行的編程語言。經(jīng)過10多年的發(fā)展,java已經(jīng)滲透到全球每個角落。在當(dāng)今這個網(wǎng)絡(luò)的時代,java語言在網(wǎng)絡(luò)編程方面的優(yōu)勢使得網(wǎng)絡(luò)編程有了更好的選擇。Java語言最令人矚目的特點(diǎn)是具有跨平臺性,使其不受平臺不同的影響,并得到了廣泛的應(yīng)用。

          設(shè)計內(nèi)容:設(shè)計GUI界面的計算器。用戶可以通過鼠標(biāo)依次輸入?yún)⒓佑嬎愕臄?shù)值,進(jìn)行加、減、乘、除等混合運(yùn)算。

          設(shè)計要求:

          1.系統(tǒng)界面的上面是數(shù)字輸入對話框,用來顯示所輸入的數(shù)字和運(yùn)行的結(jié)果。

          2.系統(tǒng)界面下面的左側(cè)是記憶 + - _/。

          3. 系統(tǒng)界面下面的中部是數(shù)字輸入按鈕,用來輸入數(shù)字。

          4.系統(tǒng)界面下面的右側(cè)是運(yùn)算符號按鈕,用來實(shí)現(xiàn)具體的運(yùn)算。

          關(guān)鍵字:java面向?qū)ο?計算器 網(wǎng)絡(luò)編程

          第一章 概述

          1.1 設(shè)計目的

          計算器是日常生活中十分便捷有效的工具,能實(shí)現(xiàn)加、減、乘、除、開方、求倒數(shù)等簡單運(yùn)算的功能。本論文采用java編程語言實(shí)現(xiàn)計算器功能。該計算器大大的降低了數(shù)字計算的難度并且提高了計算的準(zhǔn)確度和精確度。使用簡單,適合廣大工作人員和中小學(xué)生使用。

          1.2 計算器系統(tǒng)概述

          標(biāo)準(zhǔn)計算器的界面采用“圖形界面程序設(shè)計(GUI)”。GUI為用戶和應(yīng)用程序之間的交互提供了直觀、方便的交流方式。用戶使用鼠標(biāo)、鍵盤操作圖形界面上的按鈕、菜單等元素湘計算機(jī)系統(tǒng)發(fā)送命令,系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶。

          編寫java計算器主要使用了Swing組件和AWT布局類。Swing組件主要包括按鈕、標(biāo)簽、文本輸入類、等組件,AWT主要運(yùn)用了其中的布局管理器。

          1.2.1 Swing組件

          Swing組件的按鈕用JButton類表示,計算器的界面主要由JButton按鈕組成,以響應(yīng)用戶的操作;

          Swing中的標(biāo)簽用JLabel類表示,標(biāo)簽上可以顯示圖標(biāo)和文本;

          Swing的文本輸入類包括文本框JTe_tField、文本區(qū)JTe_tArea和密碼框JPasswordField。

          本計算器中僅僅使用了文本框JTe_tField,用于文本數(shù)字的顯示。

          1.2.2 AWT組件

          布局管理器管理組件如何放置在容器中,AWT中最常用的四種布局類:FlowLayout、BorderLayout、GridLayout、CardLayout。本項(xiàng)目主要采用了GridLayout布局。

          1.3功能模塊設(shè)計

          ★標(biāo)準(zhǔn)計算器。

          以下是標(biāo)準(zhǔn)計算器的各項(xiàng)功能:

          (1)加法:

          兩個及兩個以上數(shù)據(jù)進(jìn)行加法操作,可以為小數(shù)形式。

          (2)減法:

          兩個及兩個以上數(shù)據(jù)進(jìn)行減法操作,可以為負(fù)數(shù)形式。

          (3)乘法:

          兩個及兩個以上數(shù)據(jù)進(jìn)行乘法操作。

          (4)除法:

          兩個及兩個以上數(shù)據(jù)進(jìn)行除法操作。

          (5)開平方:

          對任意數(shù)開平方,可以為小數(shù)(不能為負(fù)數(shù))。

          (6)求倒數(shù):

          對任意數(shù)求倒數(shù),0除外。

          (7)求百分?jǐn)?shù):

          對任意一個數(shù)進(jìn)行百分號操作。

          1.4 系統(tǒng)功能圖。

          標(biāo)準(zhǔn)計算器

          求倒數(shù)

          開平方

          求百分號

          加法

          減法

          乘法

          除法

          圖1.1 計算器系統(tǒng)功能圖

          第二章 項(xiàng)目設(shè)計說明

          2.1標(biāo)準(zhǔn)計算器設(shè)計界面

          圖2.1 計算器設(shè)計界面

          2.2標(biāo)準(zhǔn)計算器設(shè)計主要代碼

          標(biāo)準(zhǔn)計算器主要由一個菜單欄、一個文本框、27個按鈕組成。

          2.2.1整體框架代碼

          JFrame f = new JFrame("標(biāo)準(zhǔn)計算器");

          f.setLocation(400, 300);

          Container contentPane = f.getContentPane();

          2.2.2 菜單欄代碼

          圖2.2 菜單欄

          JMenuBar mBar = new JMenuBar();

          mBar.setOpaque(true);

          mEdit = new JMenu("編輯(E)");

          mEdit.setMnemonic(KeyEvent.VK_E);

          mCopy = new JMenuItem("復(fù)制(C)");

          mEdit.add(mCopy);

          mPaste = new JMenuItem("粘貼(P)");

          mEdit.add(mPaste);

          mView = new JMenu("查看(V)");

          mView.setMnemonic(KeyEvent.VK_V);

          mView.add(new JMenuItem("標(biāo)準(zhǔn)型"));

          mView.add(new JMenuItem("科學(xué)型"));

          mView.addSeparator();

          mView.add(new JMenuItem("查看分組"));

          mHelp = new JMenu("幫助(H)");

          mHelp.setMnemonic(KeyEvent.VK_H);

          mHelp.add(new JMenuItem("幫助主題"));

          mHelp.addSeparator();

          mHelp.add(new JMenuItem("關(guān)于計算器"));

          mBar.add(mEdit);

          mBar.add(mView);

          mBar.add(mHelp);

          f.setJMenuBar(mBar);

          contentPane.setLayout(new BorderLayout());

          2.2.3 文本框代碼

          圖2.3 文本框

          JPanel pTop = new JPanel();

          tResult = new JTe_tField("0.",26);

          tResult.setHorizontalAlignment(JTe_tField.RIGHT);

          tResult.setEditable(false);

          pTop.add(tResult);

          contentPane.add(pTop,BorderLayout.NORTH);

          2.2.4 計算器各功能鍵代碼

          圖2.4 各功能鍵圖

          bOther = new JButton("MC");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red); //字體顏色

          bOther.setMargin(new Insets(3,2,3,2));//按鈕邊框和標(biāo)簽之間的空白

          pLeft.add(bOther);

          bOther = new JButton("MR");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          bOther.setMargin(new Insets(3,2,3,2));

          pLeft.add(bOther);

          bOther = new JButton("MS");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          bOther.setMargin(new Insets(3,2,3,2));

          pLeft.add(bOther);

          bOther = new JButton("M+");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          bOther.setMargin(new Insets(3,2,3,2));

          pLeft.add(bOther);

          pBottom.add(pLeft,BorderLayout.WEST);

          JPanel pRight = new JPanel();

          pRight.setLayout(new BorderLayout());

          JPanel pUp = new JPanel();

          pUp.setLayout(new GridLayout(1,3,3,0));

          bOther = new JButton("BackSpace");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          bOther.setMargin(new Insets(3,0,3,5));

          pUp.add(bOther);

          bOther = new JButton("CE");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          pUp.add(bOther);

          bOther = new JButton("C");

          bOther.addActionListener(this);

          bOther.setForeground(Color.red);

          pUp.add(bOther);

          2.2.5 數(shù)字鍵及運(yùn)算符號代碼

          圖2.5 數(shù)字鍵圖

          JPanel pDown = new JPanel();

          pDown.setLayout(new GridLayout(4,5,3,2));

          bNumber = new JButton("7");

          bNumber.setForeground(Color.blue);

          bNumber.addActionListener(this);

          bNumber.setMargin(new Insets(3,3,3,3));

          pDown.add(bNumber);

          (注:其他數(shù)字鍵、運(yùn)算符號鍵與“7”定義相同。)

          第三章 程序運(yùn)行效果

          3.1加法運(yùn)算

          本計算器可以實(shí)現(xiàn)多個運(yùn)算數(shù)相加,例如:1+2+3+4

          計算結(jié)果為10,所有數(shù)據(jù)均為double類型。

          3.2減法運(yùn)算

          本計算器可以實(shí)現(xiàn)多個運(yùn)算數(shù)相減(正負(fù)數(shù)),例如:6-5-3-1

          計算結(jié)果為-3,數(shù)據(jù)類型為double類型。

          3.3乘法運(yùn)算

          本計算器可以實(shí)現(xiàn)多個運(yùn)算數(shù)相乘,例如2_3_4_5

          運(yùn)算結(jié)果為120,數(shù)據(jù)類型為double類型。

          3.4除法運(yùn)算

          本計算器可以實(shí)現(xiàn)多個運(yùn)算數(shù)相除(除數(shù)不為0)例如:15/3/5/2

          運(yùn)算結(jié)果為0.5,數(shù)據(jù)類型為double類型

          當(dāng)除數(shù)為0時,計算器自動報錯,例如:15/0

          3.5開方運(yùn)算

          當(dāng)被開方數(shù)為非負(fù)數(shù)時,計算器自動開方,例如:25開方

          運(yùn)算結(jié)果為5.

          3.6求倒數(shù)運(yùn)算

          當(dāng)按下求倒數(shù)鍵時,計算器自動為運(yùn)算數(shù)求其倒數(shù)。例如:5的倒數(shù)

          運(yùn)算結(jié)果為0.2.

          第四章 項(xiàng)目重難點(diǎn)分析

          4.1重難點(diǎn)分析

          Java計算器中整體框架的建立,按鈕的設(shè)置,整體布局在操作過程中都是很順暢的。計算器的關(guān)鍵步驟也是重點(diǎn)是實(shí)現(xiàn)計算器的計算方法。

          實(shí)現(xiàn)兩個數(shù)的加減乘除等運(yùn)算是比較簡單的,但是一個計算器需要做到的是實(shí)現(xiàn)多個運(yùn)算數(shù)的運(yùn)算。此時就用到了我在項(xiàng)目一開始定義的兩個數(shù)據(jù)

          每執(zhí)行一次運(yùn)算操作就把運(yùn)算結(jié)果賦值給操作數(shù)1 “op1”,并判斷下一步操作是“=”或者“其他運(yùn)算符”,決定下一步計算器的操作。

          4.2程序中存在的問題

          (1)菜單欄中雖然設(shè)置了編輯、查看、幫助等選項(xiàng),但是項(xiàng)目中并沒有實(shí)際的功能。

          (2)程序中設(shè)置了內(nèi)存的有關(guān)操作但是并沒有達(dá)到其預(yù)期的功能。

          (3)百分號的實(shí)際功能并沒有實(shí)現(xiàn)。

          (4)當(dāng)被開方數(shù)是負(fù)數(shù)時,計算器并不能給出錯誤提示。

          [參考文獻(xiàn)]

          《Java編程實(shí)用技術(shù)與案例 》 譯作者:楊紹方

          《軟件工程Java語言實(shí)現(xiàn)SoftwareEngineeringwithJava》StephenR.Schach譯者:袁兆山等

          程序員天堂( 英文網(wǎng)站 大量的程序, 庫, 包) http://www.programmersheavean.com

          java畢業(yè)論文范文篇五:

          一、引言

          加深對《Java2面向?qū)ο蟪绦蛟O(shè)計》課程所學(xué)知識的理解,進(jìn)一步鞏固 Java語言的語法規(guī)則。分析系統(tǒng)的可行性,讓系統(tǒng)有一個明確的方向,使開發(fā)更具合理性,并能分析出系統(tǒng)的具體流程,為后面的開發(fā)做好鋪墊。明確本次課程設(shè)計所要用到的技術(shù)點(diǎn)并到網(wǎng)上搜索以及查閱相關(guān)的書籍來搜集資料。通過編寫一個基于JAVA的應(yīng)用系統(tǒng)綜合實(shí)例,來掌握J(rèn)ava語言編程技巧。并學(xué)會編制結(jié)構(gòu)清晰、風(fēng)格良好的、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)腏ava語言程序,從而具備解決綜合性實(shí)際問題的能力

          二、課題內(nèi)容

          用Java設(shè)計一個職工信息管理系統(tǒng),并實(shí)現(xiàn)相關(guān)功能。

          三、系統(tǒng)程序要求

          1、設(shè)計一個職工信息管理系統(tǒng)

          2、要求包括職工信息包括職工號、姓名、性別、年齡、學(xué)歷、工資、

          住 址、電話(職工號不重復(fù))

          3、本系統(tǒng)功能描述:

          職工信息錄入功能(職工信息用文本保存);

          職工信息瀏覽功能;

          查詢功能(至少一種查詢方式):

          按工資查詢, 按學(xué)歷查詢

          4、職工信息刪除、修改功能(這兩個功能任選)。

          四、程序設(shè)計思想

          該課題要求是輸入職工信息,對職工信息進(jìn)行一系列的處理。既要輸入工號又要能查找到與之對應(yīng)的職工,還要對實(shí)現(xiàn)建立,顯示,查找,刪除,信息的保存。

          因?yàn)榭紤]到信息管理信息的實(shí)用性,我額外添加了一個“讀文件”功能,使利用void read()方法來實(shí)現(xiàn)的。這個“讀文件模塊"!是我用來擴(kuò)充信息管理系統(tǒng)功能的!可以使系統(tǒng)在用戶不用輸入信息就能讀取先前已存在的職工信息文件。

          根據(jù)課題要求,我是這樣設(shè)計的:首先對要實(shí)現(xiàn)的功能類型分為三大類——Public類、方法類、信息類;然后細(xì)分為六個方法——void caidan()、void creat()、void output()、void search()、void delete()、void read ()。這些類和方法構(gòu)成了能夠?qū)崿F(xiàn)不同功能的模塊,很好地體現(xiàn)了面向?qū)ο蟮腏ava語言的編程模塊塊的思想。

          我通過調(diào)用各功能模塊的幾個方法,隨后在各個method中具體實(shí)現(xiàn)相關(guān)的功能。當(dāng)然要利用throws IOE_ception進(jìn)行一些異常處理,包括輸入異常和數(shù)據(jù)的異常。在數(shù)據(jù)的錄入與輸出的過程中涉及到文件的相關(guān)操作(包括打開與關(guān)閉等)最后是系統(tǒng)的安全退出。大部分功能都是在具體的模塊中加以實(shí)現(xiàn)的。

          如search方法實(shí)現(xiàn)查詢職工信息功能;caidan方法實(shí)現(xiàn)系統(tǒng)選擇菜單界面的輸出等相關(guān)功能;delete方法用于職工信息刪除;output方法用于職工信息的輸出及瀏覽等系列功能。

          五、程序源代碼及其解析

          package staff;//包

          import java.io._;

          public class StaffInfomation {

          public static void main(final String[] args) throws IOE_ception

          //throws IOE_ception用來拋出io的錯誤,文件讀寫錯誤, 主要涉及到j(luò)ava的安全機(jī)制

          {

          staffInfo staffOne[]=new staffInfo[100]; //定義100個類數(shù)組

          for(int j=0;j<100;j++) staffOne[j] = new staffInfo();

          //建立這100個類的對象

          final ways staffTwo=new ways(); //建立這個方法類的對象

          staffTwo.caidan(staffOne);

          staffTwo.creat(staffOne);

          staffTwo.output(staffOne);

          staffTwo.search(staffOne);

          staffTwo.delete(staffOne);

          //以上幾個方法分別對應(yīng)著:caidan菜單選擇、增加(建立)職工信息、輸出(預(yù)覽)、查詢、刪除這些功能,以數(shù)組類為參數(shù)

          }

          }

          class staffInfo

          //職工信息類換句話說就相當(dāng)與c語言里面的結(jié)構(gòu)體,存放職工的信息

          {

          public String name;

          public String num;

          public String se_;

          public String age;

          public String record;

          public String position;

          public String wanges;

          public String tel;

          public String addr;

          //把name、num、se_、age、record等聲明為全局變量,因?yàn)樗鼈冐灤┯谡麄€程序中,方便其它方法、類調(diào)用它們

          }

          class ways //方法類,主要實(shí)現(xiàn)職工信息的建立,顯示,查找,刪除,信息的保存與讀取;這個類是整個程序的操作類。

          {

          public String recordkey;

          public int i=0;//i用來存放職工的人數(shù)

          public String filename="Infomation.t_t";

          BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

          //此處是JAVA語言中輸入數(shù)據(jù)的基本格式,功能有如C中的scanf函數(shù)

          void caidan(staffInfo staffOne[]) throws IOE_ception

          {

          final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

          // 參看書34頁,產(chǎn)生Buf對象;buf是BufferedReader類的變量,此處將讀入字符串至buf

          int choice;

          do{

          System.out.println("☆★☆★☆★☆★電子信息系40706班★賀 雪 設(shè)計★☆★☆★☆\n\n");

          System.out.println("┏━━━━━━━━━━━━━━━━━━┓");

          System.out.println("┃★ 職工管理系統(tǒng)主菜單界面 ★┃");

          System.out.println("┣━━━━━━━━━━━━━━━━━━┫");

          System.out.println("┃ ★ ①.輸入職工信息 ★ ┃");

          System.out.println("┃ ★ ②.預(yù)覽職工信息 ★ ┃");

          System.out.println("┃ ★ ③.查找職工信息 ★   ┃");

          System.out.println("┃ ★ ④.刪除職工信息 ★    ┃");

          System.out.println("┃ ★ ⑤.安全退出系統(tǒng) ★ ┃");

          System.out.println("┃ ★ ⑥.讀取數(shù)據(jù) ★ ┃");

          System.out.println("┗━━━━━━━━━━━━━━━━━━┛");

          System.out.print(" 請輸入您的選擇(0--6):");

          choice=Integer.parseInt(buf.readLine());

          switch(choice)

          {

          case 1:creat(staffOne);break;

          case 2:output(staffOne);break;

          case 3:search(staffOne);break;

          case 4:delete(staffOne);break;

          case 5:save(staffOne);break;

          case 6:read(staffOne);break;

          }

          }while(choice!=0);

          }

          void creat(staffInfo staffOne[]) throws IOE_ception

          //這個方法是實(shí)現(xiàn)“增加(建立)職工信息”;是建立信息模塊

          {

          final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

          System.out.print("\n請輸入職工信息(以0結(jié)束)\n");

          System.out.print("姓名:\n\n");

          staffOne[i].name=buf.readLine();

          while(staffOne[i].name.compareTo("0")!=0)

          //用數(shù)組staffOne[i]來暫存職工的序 號,并用compareTo方 法確定判定是否應(yīng)該寫入新信息

          {

          System.out.print("工號:\n\n");

          staffOne[i].num=buf.readLine();

          System.out.print("性別:\n\n");

          staffOne[i].se_=buf.readLine();

          System.out.print("年齡:\n\n");

          staffOne[i].age=buf.readLine();

          System.out.print("學(xué)歷:\n\n");

          staffOne[i].record=buf.readLine();

          System.out.print("職位:\n\n");

          staffOne[i].position=buf.readLine();

          System.out.print("工資:\n\n");

          staffOne[i].wanges=buf.readLine();

          System.out.print("電話:\n\n");

          staffOne[i].tel=buf.readLine();

          System.out.print("住址:\n\n");

          staffOne[i].addr=buf.readLine();

          i++;

          System.out.println("請輸入下一個職工信息:\n\n");

          staffOne[i].name=buf.readLine();

          }

          }

          void output(staffInfo staffOne[]) throws IOE_ception

          //這里是實(shí)現(xiàn)“輸出(預(yù)覽)職工信息”output的模塊

          {

          System.out.println("--------------------------------------");

          System.out.println(" _員工信息表_);

          System.out.println("------------------------------------");

          System.out.println("姓名 工號 性別 年齡 學(xué)歷 職位 工資 電話號碼 住址");

          System.out.println("---------------------------------");

          if(i!=0)

          {

          for(int j=0;j<i;j++)

          {

          System.out.print(staffOne[j].name+" "+staffOne[j].num+" "+staffOne[j].se_+" ");

          System.out.print(staffOne[j].age+" "+staffOne[j].record+" "+staffOne[j].position+" ");

          System.out.print(staffOne[j].wanges+" "+staffOne[j].tel+" "+staffOne[j].addr+"\n");

          }

          System.out.println("------------------------------");

          }

          else System.out.println("沒有員工信息!");

          }

          void search(staffInfo staffOne[]) throws IOE_ception

          //這里是實(shí)現(xiàn)職工信息的查詢功能的模塊

          {

          final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

          System.out.println("\n請輸入您要查找的職工學(xué)歷:");

          recordkey=buf.readLine();

          boolean flg=true;

          System.out.println("------------------------------------");

          System.out.println(" _員工信息表_);

          System.out.println("-----------------------------------");

          System.out.println("姓名 工號 性別 年齡 學(xué)歷 職位 工資 電話號碼 住址");

          System.out.println("---------------------------------------");

          for(int j=0;j<i;j++)

          {

          if(recordkey.equals(staffOne[j].record))

          //equals是字符串比較函數(shù)相等返回true

          {

          System.out.print(staffOne[j].name+" "+staffOne[j].num+" "+staffOne[j].se_+" ");

          System.out.print(staffOne[j].age+" "+staffOne[j].record+" "+staffOne[j].position+" ");

          System.out.print(staffOne[j].wanges+" "+staffOne[j].tel+" "+staffOne[j].addr+"\n");

          flg=false;

          }

          }

          if(flg)

          System.out.println("對不起,查無此人!");

          }

          void delete(staffInfo staffOne[]) throws IOE_ception

          {

          final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

          System.out.println("\n請輸入您要刪除的職工姓名:");

          recordkey=buf.readLine();

          boolean flg=true;

          for(int j=0;j<i;j++)

          {

          //System.out.println("staffOne[j].name="+staffOne[j].name);

          //System.out.println("recordkey="+recordkey);

          //System.out.println("recordkey.equals(staffOne[j].name)="+recordkey.equals(staffOne[j].name));

          if(recordkey.equals(staffOne[j].name))

          {

          for(int k=j;k<=i-1;k++)

          //利用順序表的刪除算法,刪除值之后,再把后面的值往前移位,從而實(shí)現(xiàn)刪除

          {

          staffOne[k].name=staffOne[k+1].name ;

          staffOne[k].num=staffOne[k+1].num ;

          staffOne[k].se_=staffOne[k+1].se_ ;

          staffOne[k].age=staffOne[k+1].age ;

          staffOne[k].record=staffOne[k+1].record ;

          staffOne[k].position=staffOne[k+1].position ;

          staffOne[k].wanges=staffOne[k+1].wanges ;

          staffOne[k].tel=staffOne[k+1].tel ;

          staffOne[k].addr=staffOne[k+1].addr ;

          }

          i--;//職工人數(shù)要減一

          flg=false;

          }

          }

          if(flg)

          System.out.println("對不起,查無此人!。");

          else System.out.println("已經(jīng)刪除!。");

          }

          void save(staffInfo staffOne[]) throws IOE_ception

          //數(shù)據(jù)的保存模塊, 把輸入的職工信息保存到相應(yīng)的文件里。

          {

          int k;

          final FileWriter fw=new FileWriter(filename);

          //調(diào)用構(gòu)造函數(shù)FileWriter()創(chuàng)建FileWriter類的對象。

          //文件的讀取(書216頁13-2-2)

          fw.write( i+"\n");//把職工的人數(shù)保存到文件中以便下次讀取是使用

          for( k=0;k<i;k++)//每個職工有9個信息字段,下面就是這9個信息段。

          {

          fw.write( staffOne[k].name+"\n");

          fw.write( staffOne[k].num+"\n");

          fw.write( staffOne[k].se_+"\n" );

          fw.write( staffOne[k].age+"\n");

          fw.write( staffOne[k].record+"\n");

          fw.write( staffOne[k].position+"\n") ;

          fw.write( staffOne[k].wanges+"\n");

          fw.write( staffOne[k].tel+"\n");

          fw.write( staffOne[k].addr+"\n");

          }

          fw.close();

          System.out.println("\n 系統(tǒng)已經(jīng)安全退出!感謝您的使用!");

          System.e_it(0);

          }

          void read(staffInfo staffOne[]) throws IOE_ception

          //這是程序的“讀文件模塊"!是我自己添加進(jìn)去擴(kuò)充系統(tǒng)功能的!可以使系統(tǒng)不用輸入信息就能讀取先前已存在的職工信息文件。

          {

          final FileReader fr=new FileReader(filename);

          final BufferedReader bfr=new BufferedReader(fr);

          //關(guān)于文件的讀取不會的看看書216頁13-2-2

          if((recordkey=bfr.readLine())!=null)

          i=Integer.parseInt(recordkey);

          for(int j=0;j<i;j++)

          {

          staffOne[j].name=bfr.readLine(); 這是程序的“讀文件模塊",

          是我自己添加進(jìn)去擴(kuò)充系統(tǒng)功

          staffOne[j].num=bfr.readLine(); 能的!可以使系統(tǒng)不用輸入信息

          就能讀取先前已存在的職工信息

          staffOne[j].se_=bfr.readLine(); 文件,從中讀取數(shù)據(jù)。利用了書

          本P216頁13-2-2的文件相關(guān)知識

          staffOne[j].age=bfr.readLine();

          staffOne[j].record=bfr.readLine();

          staffOne[j].position=bfr.readLine() ;

          staffOne[j].wanges=bfr.readLine();

          staffOne[j].tel=bfr.readLine();

          staffOne[j].addr=bfr.readLine();

          }

          fr.close();

          System.out.println("\n 數(shù)據(jù)已經(jīng)成功讀取!");

          }

          }

          六、心得體會

          我自己感覺此次課程設(shè)計做得挺成功的,通過這一次,我學(xué)到了不少實(shí)際編程的知識。

          在這次設(shè)計開始的第一天開始,我就開始著手修改一個用“職工信息管理系統(tǒng)”的JAVA程序。這一過程太不順利,調(diào)試的時候都沒有成功。后來我請教一個學(xué)長,在他的指導(dǎo)下我不斷的發(fā)現(xiàn)錯誤,并改正它們,功夫不負(fù)有心人人,我的程序最后運(yùn)行成功了。

          這其中了不少的東西,磨礪了我的意志;同時還鞏固了以前所學(xué)的知識,學(xué)到了不少書本上沒有的知識;學(xué)到了很多java編程知識,并學(xué)會了簡單的使用eclipse來開發(fā)java程序的一些使用技巧這次課程設(shè)計是對我本學(xué)期所學(xué)的知識的檢驗(yàn),由此我發(fā)現(xiàn)了不少的問題??梢哉f它給了我一次自我評估的機(jī)會。通過設(shè)計讓我知道了那些方面我還是有欠缺的,促使我花時間彌補(bǔ)。

          臨近考試,時間太緊迫,致使程序?qū)崿F(xiàn)的功能在方法上也許不是很完美,但我以后會多向老師請教,自己也要加強(qiáng)對Java 的學(xué)習(xí)。努力進(jìn)一步提高自己的編程水平。

          參考資料

          1、《程序天下》

          2、洪維恩、何嘉《java2面向?qū)ο蟪绦蛟O(shè)計》

          3、Java天下-java、jsp編程論壇[黑咖啡屋]

          4、黃旭等《java課程設(shè)計指導(dǎo)》

          5、C編程設(shè)計(第三版) 譚浩強(qiáng)(著)


          java畢業(yè)論文范文5篇相關(guān)文章

          四十路の五十路熟女豊満| 伊人久久大香线蕉综合07| 亚洲日韩精品欧美一区二区yw | 国产在线播放一区| 69pao人妻免费打造| 08日本一区二区三区视频| 国产精品一区二区不卡| 波多野结衣无码免费一区二区| 国产亚洲精品第一综合另类| 国产福利官网在线看| 日韩中文字幕视频| 户外露出视频一区| 白嫩极品在线播放| 色网站亚洲天堂| bbwbbwbbwbbwbbw精彩| 国产肛交精品| 四虎国产精品永久在线囯在线| 公么大龟弄得我好舒服AV| 国产91精品久久久久久| av无码黑白大战| 2020年国产精品午夜福利在线| 国产chinasex| 亚洲人成网站色www| 国内私拍哺乳精品视频| 免费大波美女做受视频| 亚洲无码性爱视频| 成人亚洲爱情岛论坛在线观看| 国内精品久久久久影俄罗斯| 中日韩av一区| 在线精品视频一区二区三四 | 国内自拍av| 国产2022aV视频| 极品美女一区二区三区视频| 光棍影院午夜中文视频| 成年人久久免费小视频| 中文字幕无码乱人伦免费| 嗯,午夜视频,嗯,。| 精品国产综合色在线| 大爆乳双腿张开自慰喷水| Av动漫H肉电影在线观看| 日日拍夜夜嗷嗷叫视频观看| 在线免费亚洲无码视频| 大又大粗又爽又黄的视频| 亚洲中文无码成人影院| 中文字幕无码乱aⅴ免费| 韩国AV不卡| 国产精品嫩草影院永久| 亚洲男男视频在线| 国产成人vr精品a视频| 黄色视频网站十八禁| www123国产免费自拍视屏| 国产精品热久久无码av| 中文无码伦av中文字幕| 超大乳抖乳露双乳免费视频| 13萝自慰喷水| 亚洲国产高清不卡在线播放| 亚洲国产成人精品女人久久久| 2021无码最新国产在线观看| 草莓视频app黄| 国产精品高清视亚洲乱码有限公司 | 久久青草午夜福利| 久久青草费线频观看| 在线观看av毛片| 2021AV天堂网在线视频免费| 亚洲AV成人无码网站在线九九| 国产精品久久久狼友| 伊人色天堂| 区美黄色视频| 久久社区中文字幕免费| 成人福利在线视频| 无码熟妇人妻啪啪| 亚洲产在线精品| 中文无码一级黄色毛片| 曰的好深好爽免费视频网| 国产午夜福利| 很黄很污 无遮| 国产精品一国产精品| 亚洲成av人片天堂网久久浪潮 | 久久精品伊人无码二区| 337p高清人体视频| 日韩精品欧美精品中文精品| youjizz丰满熟妇日本| 成 人色 网 站 欧美大片在线观看| 青乐娱精品视频一国产分类| 又硬又黄又大又粗的视频| 久久精品国产免费观看| 国产V在线在线观看视频| 日本a级理论片免费看| 亚洲成在人线中文字幕| 优优日韩在线视频观看| 手机在线看永久AV| 黄色一级视频| 日韩极品一区二区精油按摩| 91福利国产成人精品| 999精选视频| 丁香激色综合网| 免费黄色小视频| 国产黑丝袜在视频观看| 大黄瓜无码av专区| 90久久京东热加勒比一二区| 精品一区二区三区视频在线观看免 | 人妻少妇精品无码专区二区| 83kkk欧美在线| 乱码一区二区三区| 亚洲香蕉毛片久久网站| 东北老富婆高潮大叫对白视频| 床震吃奶摸下的激烈视频在线| 成人国产经典视频在线观看| 孕妇变态av无码不卡顿| 亚洲欧美闷骚少妇影院| 国产精品天干天天在线看啪| XXXXX大片在线观看| 欧美 亚洲 精品 三区| 亚洲成AV不卡无码无码不卡| 亚洲 另类 小说 卡通动漫 | 国产免费人成在线视频网站| 亚洲欧美日韩国产综合高清| 幻女性zozo交| 各种少妇bbw撒尿| aV无码动漫一区二区三区精品| 777亚洲熟妇自拍无码区| 粉嫩国产白浆在线观看| 波多野结衣av中文一区二区| AV换脸在线观看| 日韩欧美一区二区中文字幕| 阿v天堂网2021在线观看| 用力点草我在线视频| 丝袜无码专区人妻视频| 亚洲天堂国产精品| 黄色视频在线网址免费入口| 国产视频3| yw193国产在线观看| 最新精品国偷自产在线| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产乱子伦免费精品亚洲产在线| 免费观看黄网站| 日韩爱爱一区二区三区| 后进白嫩翘臀在线视频2020| 一级爆乳无码av| 国产剧情AV巨作在线| 18禁的网站免费进入| 日本亚洲色大成网站www久久| 蜜桃av无码免费看永久| 国产高清视频免费人人爱| 鲁丝无码一区二区三区| Α片在线观看免费| 人妻少妇看A偷人无码| 激情五月老女人| 尤物网 五月天| 妓女综合网| 亚洲AV日韩AV成人AV| 91超碰自慰| asian极品呦女xx农村| 韩国三级大全久久网站| 月夜影视直播在线观看| 国产精品天干天干| 2021国产中文字幕。| 国产成人精品一区二区秒拍| 粉嫩无套白浆第一次| 久草中文字| 亚洲成在人网站无码天堂| 巨臀中文字幕一区二区| 日韩天堂无码av| 国产一区二区三区精品尤物| 2021年华人最新黄色网站直接观看| 国产精品-色哟哟| 亚洲午夜无码AV手机在线观看| jlzzjlzz全部女高潮| 波多野结衣无码中文字幕| 777有精品视频| 久久精品无码免费播放| 中国美女一级特黄大片视频| 亚洲av日韩av无码大全| 国产乱人视频在线播放| 中国女人内谢69xxxx免费视频| 久久精品国产导航| 亚洲人成伊人成综合网久久久| 国产精品白浆在线播放| 狠狠色综合欧美激情| 国产美女销魂在线观看不卡| 日韩精品青青久久久久久| 很污很黄的网站| 午夜视频在线观看| 国产剧情视频综合在线观看| 久久久久夜夜夜精品国产| 国产女人婷婷| 在线播放最新国产无码制服丝袜| 伊人久久综合亚洲亚洲| 法国性经典xxxxx| 久久国产精品2020免费| 国产免费av片在线观看| 我偷偷跟亲妺作爱h视频免费| 国产在线一区二区| 男女夜晚在爽视频免费观看| 中文字幕免费无码久| 亚洲日韩精品一区二区三区| 中国性爱黄色毛片视频了| 幻女bbwxxxx几岁| yellow片视频在线观看无码| 在线精品96| 最爽高潮爱爱免费视频| 国产在线草莓aⅴ精品| 中文有码vs无码人妻麻豆| 国产亚洲国际精品福利| 亚洲爱av| 丝瓜视频在线成人www| 老师极品大乳美女爆乳裸久久| 荡女高中生蒋雅雅末班车被吸| 嗯~啊~别揉我奶头~视频| h涩视频在线观看网站| 十八禁美女裸体网站| 中文字幕久久按摩| y1111111少妇影院在线观看| 波多野结衣色av一本一道| Av少妇按摩AV| 亚洲av日韩精品| 中文字幕夫目前犯视频一区| 有码 制服有码中文字幕av| 欧美性色XO影院| AV无码国产在线看免费| 女人张开腿让男桶喷水高潮| 国产成人亚洲综合| 狠狠爱五月丁香亚洲综合| 熟妇丰满大屁股人妻| 岛国十八禁免费在线观看网站| 最新中文字幕av无码不卡| 看国产美女Av| av无码精品一区二区三区| 国产偷闻女邻居内裤在线看| 欧美在线亚洲色图妲己影院| 久久精品2| 午夜在线观看免费观看 视频| 欧美人与动牲交片免费播| 动漫 亚洲 自拍| 日韩99在线| 粗大猛烈进出高潮视频二| 国产亚洲精品美女久久久| 日韩不卡无码精品一区高清视频| 曰夲一夲一道久久香蕉另娄天堂特黄特色| 吹潮视频无码中文| 狼人色综合网| 性色av无码无在线观看| 久久国产经典| 波多野结衣高潮尿喷| 日韩欧美在线综合| aⅴ淘宝国产在线视频一区| 中文成人无码精品久久久| YY1111111少妇光屁股影院| 欧美日韩国产一区| 亚洲图片自偷 欧美激情 | GOGO全球大胆高清人体在线播放| 18禁黄色网址| 193尤物视频在线看| 日韩av一区二区三区| 亚洲男人的天堂在线观看2020| 国产高清在线视频小尤奈| 国产女主播在线播放一区二区| 69视频在线精品国自产拍| 亚洲AV秘 无码一区二p区三区| 在线视频观看91| 夜夜摸日日摸视频| 亚洲欧美色中文字幕在线| 爆乳无码一区二区在线观看| 色胡同热国产の综合| 东方AⅤ免费观看久久AV| 丝袜人妻专区无码视频| 成人拍拍拍无遮挡免费视频 | 久久精品视| 羞羞影院午夜男女爽爽真人视频| 日韩无码精品一区| 欧美禁忌乱偷在线观看| 黄色网站在线免费看入口| 一区二区三区四区欧美| 又大又黄的刺激免费视频| 国产精品成人无码视频| 交换交换乱杂烩系列yy| 黄片试看视频免费| 久久久网站亚洲第一| 真实国产老熟女…| 中国一级做一级熟妇女| 天堂在线观看AV| 久久精品视频中文字幕无码| 香港日本少妇熟女| 91AV视频在线观看免费| 欧美人妖精品| 美女不带套日出白浆免费视频| 国产精品无卡毛片视频| 中文字幕精品亚洲字幕网 | 国产精品久久久久久妇女| 日韩av高清无码一区二区三区 | 国产在找视频在线| 久久国产精品一国产精品| 国产无遮挡又黄又爽无VIP | 欧美成人在线视频播放| 欧美另类专区| AV一极品视觉盛宴在线播放| 澳门网站无码视频在线看| XXXXX在线尤物| 尤物yw在线视频| 奇米色777欧美一区二区| 又大又硬又黄的免费视频| 中文字幕一区日韩精品欧美| 亚洲国产婷婷六月丁香| 亚洲熟妇乱子伦在线| 日本aⅴ精品中文字幕| 国产六十路熟女中出 1080P| 亚洲AV无码一区二区二三区软件| 久久精品国产乱子伦| 综合最新久久人妻| 一区二区三区在线青青| 不带套日出白浆在线视频| 超碰人人尤物| 国产丝袜美腿在线观看| 26uuu欧美视频在线观看| 欧美精品AⅤ在线视频| 国产精品免费观看调教网| 五亚洲五月天国产黄色录像视频抛弃| 天堂网在线最新版www中文| 纯欲岛国片18禁在线免费| 日本三级香港三级韩国三级| 自拍偷拍视频颜射| 八戒影视无码流畅无码福利午夜| 日韩色超级黄的视频| 国产高潮流白浆视频在线| 亚洲 欧洲 日产 国产| 意大利xxxx性hd极品| 亚洲欧美牲交| 粉嫩美女XX视频在线观看| 国语精品福利自产拍在线观看| 久久国产精品无码| 黑人30厘米少妇高潮全部进入| 对着裤袜自慰在线看| 色多多在线视频0| 国产精品国产免费无码专区不卡| yellow视频在线播放| 人妻在线日韩免费视频| 国产精品iGAO视频网网址| 国产无AV码在线免费观看| 亚洲伊人久久成人综合网| 日本xxxx在线视频,免费看| 人人爽人人澡人人人妻、百度| 尤物极品视频盛宴| 不卡一区二区视频高清在线观看| 亚洲高清久久无码视频| 中文字幕 尤物视频| 在线观看永久免费网站网址| 久久精品国产一区二区三区不卡| www.尤物在线| 亚洲欧洲闷骚AV影院| 国产AV现役女高中生无庶挡| 女女互慰无遮挡免费视频在线观看 | 在线观看国产一区二区三区| 白浆出来无码视频在线| 日本一区二区视频在线观看狼人| 中文字幕少妇| 无码一区二区三区AⅤ免费蜜桃视| 久久精品私人影院免费看| 精品国产成人a在线| 嗯啊,性爱午夜视频| 亚洲 国产 精品 不卡 在线| 成本人妻片无码中文字幕免费| 皇后张腿迎合太医的侵犯| 2020中文字字幕在线乱码| 人妻互换精品一区二区| 国产欧美va欧美va香蕉在线| 二区黄色视频| 国产精品ⅴ无码大片在线看| 欧美特级AAAAAA视频免费观看| 亚洲熟女网址| 亚洲国产超清无码专区| 国产99网站免在线观看| 又黄又长又大网站| yl亚洲永久无码视频大全| 日韩国产综合精选| jizz大全日本护士喷奶水| 亚洲中文字幕毛片在线播放| 日韩在线欧美高清一区| 校园全肉高h湿| 亚洲爱爱无码专区| 黄色网站视频一区二区三区| 男女后进式猛烈XX00免费动态图| 仙子粉嫩玉腿抽搐直流水| 亚洲永久精品ww47| 大色天堂网在线| 精品国产私拍福利电影| 久久91综合国产91久久精品| 好大好BBB爽办公免费视频| 精品久久午夜福利| 蜜桃臀AV高潮无码| 久青青在线观看视频国产| 在线亚洲日本欧美一卡| 亚洲无码交配网址| wwwasss免费视频| 亚洲色啦啦狠狠网站五月| 一级毛片免费首页| 97人人添人人澡人人澡人人澡| av无码中出一区二区三区| 欧美最猛黑人xxxx黑人猛交| 一个人看的www高清日本| 图片区 小说区 中文| 毛片传媒网站| 国产精品开放小视频| 超久新碰碰| 人妻中文有码| 亚洲AV无码一区二区二三区四季 | 激情综合开心五月激情五月| 5D肉蒲团之性战奶水国语| 亚洲免费福利视频一区二区三区| 亚洲五月天狠狠夜麻豆 | 国产精品夜间| jizz中国秋霞看电影| 久久国模| 91久久久久无码精品国产软件 | 欧美a级毛欧美1级a大片| 黑人肉大捧进出全过程动态| 激情综合色五月丁香六月亚洲迅雷下载 | 成年午夜性影院免费观看| 亚洲日韩国产欧美一区二区三区 | 嗯…啊摸湿内裤动视频| 美女露出奶头还扒开尿口视频| 波多野结衣AV一区二区三区| 国色天香中文字幕在线视频| 久久久精品张柏芝| 久久综合色天堂av| 极品少妇一区二区三区| 国产激情在观看| 少妇无码11111111手机免费| 欧美激情性爱片在线观看不卡 | 自慰喷水歧女网站w| 成 人色 网 站 欧美大片| 又粗又大又黄欧美性爱视频 | 情侣作爱视频免费观看网址| xxxx黄色网站在线观看| 国产精品一区二区不卡| 性动漫3d在线观看无遮挡| 激情综合在线亚洲九月天| 国产成人 亚洲 欧洲在线| 又粗又硬又黄又爽免费的视频在线播放| 在线中文字幕av| 富婆按摩高潮对白30分钟| 亚洲免费二区中文| 大胸美人被吃奶爽死视频| v波多野结衣喷水| 一区二区а∨天堂在线| 国产 浪潮av| 亚洲一区精品无码| 国产美女流白浆| 东北妇女不戴套对白视频| A∨无码一区二区二二区| 国产Av白丝| 亚洲日本乱子伦XXXX| 中文无码一区视频| 四虎免费在线观看一级毛片| 欧美日本韩国三级| 性色A∨人人爽网站| 中文 无码第一页| 国产日日爽日日射| 制服丝袜美腿Av一级网站| 亚洲TⅤ极品无码| 日本按摩女高潮喷水视频| 偷拍区小说区图片区另类| 国产00在线观看| 日本丰满少妇自慰到白浆| 99热这里只有精品国产免费| 调教娇喘在线观看| 老司机午夜视频十八福利| 一级无码456在线观看| 鲁鲁鲁爽爽爽在线视频观看| 午夜性生大片免费看| 久久熟妇视频| 亚洲精品国产啊女成拍色拍| 色福利视频导航| 97影院在线午夜| 白嫩美女高潮喷水动态图| 亚洲欧美一区三上悠亚| 热久久国产最新地址获取| 日日噜噜夜夜狠狠2021| 国产AV片区| 人人妻人人澡人人爽欧美一区九九| 伊人亚洲天堂色色王国黑人| 办公室娇喘的短裙老师| 亚洲中文字幕在线爆乳| 国产高清乱理伦片中文小说| 亚洲第一天堂中文字幕国产精品| 在线播放侵犯中出| 超碰cao已满18进入离开| 亚洲中文欧美日韩在线人| 久艾草在线精品视频在线观看| 亚洲欧美另类一区二区三区| 大黄瓜无码av专区| 女上男下激烈在线观看免费| 韩国三级在线观看久| 亚洲免费看片视频| 国产精品亚洲av三区| 国产在线精品国自产拍影院| AV老湿司机在线观看| 波动野结衣AV无码| 无尽欧美杂交性视频| 十八禁在线网站| 国内精品人妻视频| 成人性色生活毛片| 亚洲美女福利视频| 国产午夜男女乱婬真视频| 白丝jk在线观看喷水| 日韩av高清无码| 亚洲av成人午夜电影在线观看| 天堂AV色综合久久天堂孕妇| 日韩国产精品亚洲а∨天堂免| 久久精品亚洲中文字幕无码| 中文字幕在线h无码| 国产乱弄免费视频观看| 五月婷婷综合激情六月| 大香伊蕉在人线国产手机看片| 日韩丝袜欧美人妻制服| 97碰碰?碰碰碰人妻无码视频| 在线观看免费高h视频| 尤物蜜芽福利国产污在线观看| 天堂2022在线免费观看黄片| 亚洲青青草原无码AV| 中文字幕人妻第一区| 国产乱子伦农村xxxx| 国产射里面吞精高潮在线播放| 高清无码人妻丝袜| 欧美日韩无线在码不卡一区二区三区| 国产ktv交换配乱婬视频| 正在播放欧美在线看欧美视频免费 | 极品少妇的性享受| 91狼友在线观看免费完整版| 3p吹潮视频| 日韩亚洲人成网站在线播放| 久久久亚洲888| 亚洲午夜福利在线| 在线无码九区| 午夜无码电影院在线观看| 免费一区二区视频| 边做奶水边喷H小视频0| 苍井空一区二区三区在线观看| 国产女明星A级在线| 亚洲av无码专区在线电影你懂的 | 丰满少妇三级全黄| 777在线观看日本| 国产chinesehd精品| 高清精品福利私拍国产写真| 国产午夜精品爆乳美女视频| 欧洲一级无码AV毛片免费| 尤物AV网站| jyzzjyzz在线观看免费高清| 怡春院怡红院在线2017| 免费无码又爽又刺激加速视频| 亚洲美女在线国产| 久久99精品国产99久久6| 最污丝袜美女在线观看| 国产厨房乱子伦午夜视频| 加勒比无码AV手机在线| 一区二区三区啪自偷拍综合| 亚洲国产精品九月天| 久久与欧美视频| 又黄又刺激又污的在线影院| 另类色图区| 亚洲精品98久久久久久中文字幕| 乱婬视频网| 全裸无码专区| 国产性色强伦免费视频| 韩国 日本 亚洲 国产| 国产精品无码av天天爽播放器| 伊人久久大线影院首页动漫| 亚洲中文字幕1024| 成 人 黄 色 网站免费一级视屏| 国产精品久久久久精品综合| av午夜福利一片免费看久久| 国产伦精品一区二区三区高清版| 国产午夜精品一区二区三区| 老外的大狼色在线| av小电影无码高清| 国产无遮挡无码视频在线观看| 国产精品久久久久秋霞| 刺激仑乱一区| 久久尤物蜜芽网站免费看| 免费永久裸体美女视频| 日本一区免费看| 九月色综合网| 最新永久免费AV网站| 国产强奷在线播放免费重| 亚洲中文无码专区| 成人A级毛片樱桃视频| 2021亚洲а∨天堂在线免费| 深田咏美制服丝袜在线高清| 美女胸又www又黄的网站免费 | 嗯啊给我要到了高潮视频| 131美女黄视频免费| 国产精品亚洲一区二区无码 | 精品无码一区二区在线蜜桃| 国产成在人线视频免费观看| 日本a级综合久久a| XXXx18——20岁HD第一次| h日韩精品| av免费轮上不卡| 亚洲无码偷拍视频| 黄色福利视频| 草草浮力影院禁止18进入| 欧美日韩一区二区三区在线| 一级做AA视频免费看2019| 在线有码| 爆乳一区二区| 国产毛片真人抽搐| 国产农村妇女毛片精品久久| 人妻 日韩精品 中文字幕| 一边亲一边摸的高潮视频| 嗯啊网站在线观看| 波多野结衣AV网站点击进入| 成年在线人免费视频视频 | 免费观看美女被靠网站| 国产精品1024香蕉在线观看| 亚洲专区在线播放| 聚色网图片狠狠| 无码任你躁久久久久久老妇| 欧美日韩午夜视频| 思思久久美女软件免费观看| Av在线鲁丝片一区二区三区| 亚洲电影天堂在线国语对白| 亚洲日产2020乱码网页| 一本大道在线不卡一区| 暴力强到最舒服奷伦小说| 亚洲深深色噜噜狠狠爱网站| 国产精品无码无卡免费观| 隔壁老王国产在线精品| 亚洲激情一区二区| 日本免费一区日本一大免费高清| 亚洲无马不卡| 免费国产在线精品一区二区三区| 国产好痛疼轻点好爽的视频| 又爽又硬出湿水免费视频| 久久香蕉国产线观看| AV国内高清啪啪| 永久免费网站AV无码| 无码日韩精品一区二区三区免费| 欧美综合自拍亚洲综合网| 无遮无档吸奶动态图免费120秒| 坐在线观看国产视频| 年龄最小的无码AⅤ在线观看| 夜夜摸日日摸视频| 黄片精品小久久久| 亚洲精品不卡久久久久久| 国产亚洲精品三区| 特级婬片女子高清| 女人与公狼做交十配视频| 好大好爽h福利视频| 欧美人与动牲交大片| 久久91综合国产91久久精品| 亚洲性爱视频网站| 国产精品亚洲第一区二区三区| 亚洲精品伊人| 国产爆浆受不了了喷水| www午夜久久网| 亚洲精品p12| 亚洲国产综合专区在线播放| av毛片综合| 国内老熟妇乱子伦视频| av免费在线观看国产| 亚洲国产精品人人做人人爱| 丰满少妇被猛烈进入流水| 亚洲国产日韩AV| 亚洲日本久久九视频| 国产日韩在线时看| 亚洲人成无码网站十八禁| 国内精品久久人妻无码HD| 日韩精品无码中文字幕电影| 国产精品免费久久久久影院 | jk18禁网站视频| av 三区| 在线影院亚洲无码| 国产精品视屏| 色婷婷六月亚洲婷婷国产| 高潮娇喘抽搐在线视频| 太大了太粗到底了h视频 | 亚洲成A人无码AV波多野| 久久综合香蕉| 国产高清国产精品国产专区| 日本成人一区二区不卡免费在线| 亚洲日韩中文字幕一区| 国产亚洲精品VA在线| 一本二本黄色视频| 少妇人妻在线无码天堂视频网| vip影院国产成人精品午夜福利| 午夜视频在线| 法国性经典xxxxx| 久久久久亚洲av成人无码网站| 国产美女被躁喷水网站| 成年大片免费视频播放赏爱网| YELLOW视频免费观看高清在线| 一个人免费观看的www视频在线观看 | 国产女主播喷水高潮在线观看| 高清无码天堂AV| 丰满年轻岳欲乱中文字幕| 亚洲色偷拍区另类无码专区| 国产欧美亚洲精品第3页在线| 欧美一区国产二区在线观看| 最新亚洲人成人在现| 免费国产污网站在线观看15 | 无码专区一区二区三区| 久久99免费| 好爽好大再深点高H免费观看| 久久精品成人免费观看97| 三级中文字幕永久在线| 国产夜间视频| 中文字幕乱码亚洲无线码| 2020不卡一区乱码中文字幕| 厨房里我抬起老师的腿| 公么大龟弄得我好舒服AV| 97久久超碰福利国产精品…| 中文字幕在线观看无码 日产 国产高清| 产精品无码久久_亚洲国产精| 久久96国产精品久久久| 国产精品高清视亚洲乱码有限公司| 18禁裸体自慰免费观看网站| 欧美一区二区三区啪啪| 97精品国产手机| 国产97公开成人免费视频在线观看 | 农民工简易窝棚嫖妓精彩对白| AV女优视觉盛宴在线| 超久新碰碰| 粉嫩粉嫩的18在线观看| 分一二三四区中文字永久幕| 二色天堂AV在线| 18禁黄无遮挡免费网站动漫| 亚洲国产Av无码电影| 美女自慰卫黄网站| 国产不卡一级毛片视频| 国产AⅤ无码片毛片一级| 人妻丰满熟妇AV| 正在播放五十路老熟妇| 在线无码理论片| 亚洲伊人色欲综合网无码中文| 亚洲AⅤ无码日韩AV中文AV伦| 全部免费特黄特色大片农村| 国产大屁股视频免费区| 国产精品对白交换绿帽视频| 亚洲一区导航| 亚洲推油中出在线观看| 波多野结衣AV一区免费在线| 国产精品色吧国产精品| 网禁拗女稀缺资源在线观看| 好爽好大再深点高H 视频| 午夜福利高潮美女| 久久精品女人天堂AV麻| 韩国免费a级作爱片免费观看| 亚洲综合色在线播放www| 强奷迷奷系列在线观看| 性色AV网站在线观看| 99精品国产一区二区电影| 久久精品麻豆综合网| 免费xvideoa在线视频入口| 国产自偷在线拍精品热| Av免费天堂网| 亚洲一区二区在线| 国产精品区在线和狗狗| 乱伦一区| 337p日本欧洲亚洲大胆在线| 3亚洲日韩在线精品区| 办公室做好爽好硬视频| 尤物在线观看日本| 糟蹋小少妇17P| 中国五月婷婷| www色婷婷| jyzzjyzzjyzz日本在线观看| 亚洲国产精品一区二区久久| 777米奇888视频在线观看| 亚洲2222在线观看| а天堂最新版免费在线观看| 呦女精品第一页| 久久看少妇| 岛国AV一区二区三区免费| 久久亚洲影院| 在线亚洲男人深夜影院| 波多野结衣aⅴ在线播放| MM性高潮在线| 凹凸午夜福利| 国产精品自产拍在线观看免费| 久色AV| 黄色大尺度视频一区二区| 亚洲一级自慰网站| av一本久道久久综合久久鬼色| 作爱网址无码高清| 中文字幕无码东京热| 永久免费观看女生裸体的网站| jealoUsvue人妻出轨| 又租又长又硬又黄的少妇毛片| 成av人在线观看| 成熟人妻拐xxxx| 四虎国产精品永久地址99| 人妻无码按摩网站| 国模吧一区二区| 女人的奶头免费网站(不遮挡) | 无码中文字幕在线DVD| 国产色A在线观看| 国产中文视频一区在线| 狼人在线视频网站| 饥渴少妇高潮视频大全| 尤物无H码在线观看| 一进一出一爽又粗又大| 亚洲真正中出在线观看| 日本xxxx丰满超清hd| 国内精品久久久久久久久齐齐| 狼人色香| 欧美极品另类ⅤIDEOSDE| 欧美乱强伦xxxxx| 好涨好爽好大视频免费| 精品白嫩美女在线观看| 欧美精品久久| 亚洲无码免费精品一区二区| 久久国产精品偷任你爽任你 | 成a无码| 亚洲国产精品无码成人片久久| 亚洲国产日产韩国欧美综合| 亚洲熟妇无码AV在线播放| 40分钟永久免费又黄又粗| 2012激情在线中文字幕无码| 狠狠色丁香婷婷第六色孕妇| pron在线无码| 少妇av在线| 阿娇国产公开在线| 久久中文字幕Av网站| 国产高潮正在直播| 亚洲一区二区电影视频| 亚洲精品少妇熟女| 国产调教打屁股网站97| 丝袜二区| 丁香五月激情综合激情综合激情| 无套两女双飞在线| 亚洲综合色久| 久久精品在少妇| 九九热精品国产| 国产又爽又黄又不遮挡的视频| 国产自产2020最新| 尤物18禁免费网站| 中文亚洲av片在线观看不卡| 乌克兰无码在线| 精品午夜福利在线视频| 亚洲激情欧美激情| 正在播放国产爆浆| 高潮社区51视频在线观看| 午夜影院制服控| 一区二区在线不卡视频| 精品久久久噜噜噜久久7| 国产A级毛片| 精品人妻VA出轨中文字幕| 亚洲欧洲天堂| 插入无码在线免费看| 又大又粗的无码AV| 紧身裙女教师波多野在线| 非洲黑人最猛性XXXX| 国产孕妇露脸免费视频| 爱抚高潮视频免费观看| 夜鲁夜鲁狠鲁天天在线| 国产理论在线观看| 亚洲免费一二三区不卡视频| 青春草国产视频| 精品无码一区二区| 久久久嫩草国产精品一区| 99热人人妻| 久久久久亚洲AV无码观看黑人| 午夜福利亚洲无码 | 国产成人无码精品久久久免费| 2020欧美日黄片| 国产免费A无码视频| 免费A级毛片视频| 工口里番全彩人妻系列| 女女av免费毛片| 免费裸裸体大胸美女网站| 西西大胆午夜人体视频| 2019a不卡视频| 2022最新在线国产视频| 久久综合九色综合欧洲| 国产新婚夫妻在线| 青青青久久久| 女人高潮特级毛片| av生在线| 成在人线av无码免费高潮水| 高清国产不卡一区二区三区| 亚洲自国产拍俞拍| 杨幂被弄高潮在线观看| 国产AⅤ天堂| 久久久久亚洲av成人无码网站| 天堂亚洲AV无码一区二区| 国产精品欧美激情在线播放| 波多野吉衣在线观看av| 在线A免费V观看| 亚洲国产精品第三页| jizzjizz麻豆亚洲天堂| 天堂在线观看AV| 国产精品美女白嫩| 制服丝袜亚洲中文综合| 亚洲国产精品久久久天堂不卡海量| 亚洲国产精品久久电影欧美| 一本久道无码人妻在线| 天堂网av手机在线播放| 国产偷V国产偷V亚洲高清| 99国精品午夜福利视频不卡| 5858S亚洲色大成网站WWW| 国产女同疯狂作爱视频| 小性奴导航视频| 日韩精品欧美亚洲高清有无| 天天躁日日躁狠狠躁AV| 一品道无码在线视频| jk制服白丝自慰无码自慰网站,在线观看| 无码中国孕妇孕交视频在线观看 | 午夜美女福利AV| 亚洲精品第一国产综合境外资源| 美国6一12呦女精品| 亚洲日本人成网站在线播放不卡| 高潮白浆喷液在线观看| 欧美精品AⅤ在线视频| 特黄a级毛片| 二本无码高清| 国产又爽又粗| 亚洲毛卡片免费视频| 日本免费在线视频| 国产人成午夜免电影费观看| A√在线 亚洲| 男女啪啪抽搐一进一出网站| 国产高清在线视频小尤奈| 老司机午夜视频十八福利| FREEEⅩXX性欧美HD| mm131杨晨晨喷水在线观看| AV天堂午夜精品一区二区三区| 亚洲精品456在线播| 中文字幕在线国产| 中文有码在线观看| 777全国免费黄色网站| 日韩亚洲小黄片| 中文字幕无线乱码人妻| 两性午夜爽爽刺激视频| 波多野结衣迅雷下载| 激情福利视频网址| 日本丰满巨肥大屁股BBW| 99国产精品农村一级毛片| av手机版在线观看| 亚洲色大成网站www91| 亚洲成a人免费看动漫的网站| 欧美又大又粗午夜剧场免费| 下面一进一出好爽视频欧美| 久久国产精品无码| 女子无毛片免费播放| 无遮挡一级毛片性视频| 老司机亚洲精品影院在线下载| 在线视频观看91| 国产剧情swag在线| 国产午夜视频免费观看| 国产激情久久99久久| 又大又粗又又爽a毛片| 岛国免费v片在线观看| 中文字幕亚洲码在线| 免费观看sM重口视频| 日本高清www午色夜在线视频| 91精品啪在线观看国产18| 爆乳肉体大杂soe646在线| 亚洲嫩草影院久久精品| 2022AV国产精品| 日本三级在线播放线观看视频| 国产无遮挡床震娇喘的视频| 久久久久久国产精品免费播放| 超清欧美高潮喷水在线播放| 久久综合九色欧美婷婷| 伊人刺激在线蕉| ww国产AV,com| 久久国产乱子伦精品免费丿| AV电影在线免费送送看看| 爆乳肉体大杂交soe646在线| 国产推油288会所在线播放| 白浆AV网站导航| 成 人 色 网 站免费观看| 日本最新免费二区三区| 伊人色伊人亚洲综合网站| 伊人无码高清在线视频| 91人妻露脸在线| 182tv午夜福利免费路线主页| 欧美激情性| 亚洲日韩欧美一区二区三区| 天天躁日日躁免费视频| 亚洲另类无码一区二区三区| 国产AV无码专区| 最新在线伦费观看中文| 歐美AⅤ视频在线| 一道本一区二区三区电影| 国产成人精品综合久久久久| 加勒比无码一二三区播放| 亚洲精品卡通动漫10页| 视频二区中出| 好紧好爽要喷了视频| 国产日韩亚洲不卡高清在线观看| 性色网站| 澳门永久av免费网站入口| IGao在线播放观看| 亚洲你懂的官网| 成年无码按摩AV片在线| 18禁免费网站在线| 国产免费爽爽视频| 不卡一区二区视频日本在线观看| 黑人欧美又大的又粗| 婷婷五月综合中文字幕| 黄频视频大全免费的国产| 亚洲激情无码动态图| 福利视频私拍| 久久久亚洲国产美女国产盗摄| 欧美黑人性暴力猛交高清| 国产精品视频白浆合集| 2022无码免费| 搡女人真爽免费视频网站| 女人爽到高潮视频免费直播| 九九在线精品国产| 最新国产成人在线| 久久久久久曰本av免费免费| 哈尔滨60岁丰满老熟女69| 人妇乱系列中文字幕| 亚欧美无遮挡HD高清在线视频| 国产精品秘 999在线| 爆乳美女午夜福利视频精品| 中文字幕国产巨臀一区二区三区| 高H视频在线| 久久综合久久美利坚合众国| 久久超碰女人| 人妻无码东京热加勒比| 2020最新最全的国产精品| 香港三曰本三级少妇三99| 亚洲精品无码高潮喷水在线| 强行征服邻居人妻hd高清| 巨胸喷奶水视频WWW在线观看| 午夜福利av无码一区二区| 国产高潮流白浆的视频| www24小时日本播放视频免费观看69 | 中文字幕无线码中文字幕网站| 男男Gay互吃鳮巴视频| 日本XXXXX护士18| 熟妇人妻系列AV无码一区二区| 成年黄网站免费大全| 尤物视频免费网| 乱辈通伦AV| 五十路熟女 视频| 人妻av无码一区二区三区| 无码成年性午夜免费网站蜜蜂| 久久中文字幕2023| 久久香蕉免费国产天天看| 亚洲激情综合网| 五月天婷婷色综合| 成人亚洲中文字幕无码| 亚洲AⅤ元码一区二区三区| 久久精品国产亚洲七七| 在线看片无码永久免费视频| 亚洲精品无码你懂的608| 无码久看视频| 天色天干天天在线观看美女视频| 国产精品成人观看视频| 亚洲欧美乱综合图片区小说区| 久久免费无码视频| 又爽又黄又无遮挡动漫网站| 国产精品久久精品第一页| 亚洲Av无码一区二区丝袜 | 国产久热这里只有精品视频 | 热无码| 厨房征服丰满熟妇在线观看| 国产精品大屁股白浆一区二区三区| 国产bbbbbxxxxx精品| 又爽又黄又无遮挡的视频1000| 中文字幕av无码不卡| 人妻被按摩到潮喷中文字幕| 浓毛欧美老妇乱子伦视频 | 女自慰喷水免费观看www| 永久免费观看美女赤裸的网站| 美女把尿口扒开让男人玩 | 在线亚洲人成电影网站色www| 9420高清完整版在线观看网无码| 国产精品网址| 初撮熟女六十路20人4小时| 9热在线精品视频观看| 乱中年女人伦av三区| 中国老太婆BBWHD另类| 日韩日批在线播放视频| 欧美精品v国产精品v| 97免费视频人妻无码一区| 超碰人91| 老熟女BBWBBWBBWBBW| 日本成人免费一二三区| 夜夜操护士视频| 免费一级欧美精品| 亚洲自拍偷拍一,二区| 真实国产乱子伦在线视频| 久久久久久精品无码7777| 伊人大香线焦狠狠鲁的视频最快| 色批无码在线| 五月天激情婷婷婷久久| 精品一区二区无码av| 男女啪啪抽搐一进一出网站| 国产厨房乱子伦午夜视频| 免费h视频在线观看一区二区三区 日日模夜夜添夜夜操 | 中文字幕无码三区| 3atv一区二区三区看视频网站| 刘亦菲合成aⅴ在线一区二区| 久久久老熟女一区二区三区| 丝袜美女被潮到高潮喷水| 国产午夜福利在线机视频| 国产99视频精品免视看7| 国产精品自拍电影| 久久天堂av色综合| 杨晨晨国产专区在线播放| ΑV天堂在线观看免费| av在线免费观看网站| 亚洲AV无码专区国产乱码4se| 111111电影院少妇影院| 蝌蚪丝袜有码在线视频| 歐美AⅤ视频在线| 欧洲色图亚洲色图| 熟女中文字幕| 亚洲AV无码精品日韩一区| 亚洲二午夜福利精品一区| 国产无套高潮在线观看| 亚洲国产精品成人综合色在线婷婷| 中出的无码视频| 国产美女高潮流白浆视频18| 久久久推油| 毛片国产| 国产高清狼人香蕉在线| 精品国产迪丽热巴在线| 人妻久久999精品1024| 无码一二三四区| 20岁CHINA男同志免费| 久久狼人香蕉网美国c片| 动漫在线无码一区| 国产高清精品私拍| 美女啪三区| 久久久亚洲欧洲日产国码是AV| 妓女影院妓女网妓女视频播放| mm翘臀后进式视频| 久久毛片电影| 丝袜美女被潮到高潮喷水| 女人腿张开让男人桶爽肌肌| 国产精品久久久久精品三级| 黑人又大又粗的毛片| 亚洲综合AV最大AV网站| 午夜在线网站| 超碰极品少妇自慰| 337p1区,2区,3区人体| 熟少妇性饥渴在线观看| 加勒比无码av一区二区三区 | 成年视频免费看拍拍拍| aⅴ性色网| 很污的国产网站在线观看| 亚洲免费视频你懂的| 高清无码一区二区三区四区 | 在线看视频你懂得| 男女高潮免费观看无遮挡| 国产va免费精品观看| 欧美黑人喷潮水xxxx| 无码人妻视频网站红杏| 公么大龟弄得我好舒服AV| 久久视最新热频这里只有精品| AV无码网站网址| 亚洲性爱一区AⅤ| 麻豆国产区精品系列在线| 国产精品合集一区二区| 午夜片无码影院| 2022AV视频一区在线播放| 亚洲国产精品 久久| 国产成人剧情AV果冻传媒| 成人三级flash在线观看| 首页 国产 亚洲 丝袜图片区 | 久久网免费AA视频| 2021亚洲а∨天堂在线观看| 一本到欧美人妻少妇极品| 国产白浆不卡| 被摸到高潮视频| 国内外无码视频| 亚洲欧美成a人视频在线观看| 亚洲精品国产私拍在线| 手机在线无码视频DVD| 久久精品国产亚洲| 亚洲视频在线不卡| ww欧美18禁ww在线播放| 色婷婷狠狠97成为人免费| 欧美一区二区黄| 中文字幕人妻无码一夲道| 日韩美女高潮流白浆视频在线观看| 又大又粗又黄的少妇毛片在线观看| 亚洲综合在线第五页| 很刺激很黄的小视频在线看| 制服丝袜自拍无码| 中文字幕男人的天堂在线观看| 天堂网AV在线线| 国模吧无无码一区| 精品国产午夜理论片不卡| 精品视频国产免费不卡| 动图男女欧美俄罗斯日韩国产一区 | 亚洲天堂网在线视频| 天天爽免费视频| 中文字幕av无码免费久久| XVIDEOS国产在线视频| 亚洲av无码专区在线| 国产裸体裸拍免费观看| 少妇把腿扒开让我添69| 尤物jk自慰制服喷水| 亚洲中文精品久久久久久| 午夜福利1314| AVav天堂网在线| 久久中文字幕2023| 又黄又刺激的网站免费网站| 国产AV妓女影院| 日日射、日日摸| 《五十路》久久| 黄文一区免费| 手机亚洲第1页| av无码精品一区二区三区| 无遮无挡拍拍拍| 亚洲天堂2018av| 国产高清毛卡片| 亚洲国产精品久久久秋霞| 一级特黄毛片| 日本gifXXOO动态图片| 欧美人与物videos另类| 国产喷水网| 丰满少妇被猛烈进入高清播放!| 亚洲中文无码h在线观看| 久久精品女人天堂AN| 国产精品99久久久精品免费观看| AV美女免费看美女| 人与人性恔配视频免费| Hⅴ无码国产亚洲大全| 综合色久七七综合尤物| 成人无码国产不卡在线| cr社区最新流出素人投稿自拍| 99RE6在线观看国产精品| Chinese新婚videos| jzzijzzij亚洲一区二区三区成熟少妇| AV无码免费岛国动作片片段欣赏| 中年熟女按摩spa偷拍视频牛| 亚洲一区二区中文| 成人午夜福利网在线观看| 69久久综合狠狠综合久久| 天天躁日日躁狠狠躁2018| 00XX动态图| jizzjizz亚洲日本少妇| 亚洲国产精品va在线播放| 色福利视频导航| 人人97超碰女人碰女人| 久久人体大胆瓣开下面| 免费无码Av一区二区三区| 一本大道香蕉久在线播放29| 激情视频女人的天堂| av怡红院日h| yy111111少妇影院勉费观看| 超级碰碰人妻中文字幕| 久久调教亚洲| 久久婷婷综合中文字幕| 丰满少妇被猛烈进入高清的| 日本调教室强制高潮视频| 加勒比无码AV手机在线| 国产毛毛片看看| 又粗又大又紧又爽视频| v波多野结衣喷水| 亚洲线无码2020| 国内高清精品视频免费| 无码人妻视频网站红杏| 尤物视频在线观看8区不卡| 五月婷婷丁香福利| 人妻啪啪无码| 亚洲视频机器少妇| 97人妻CAOPOM免费公开视频| 亚洲国产精品一区二区片库| 爆乳在线无码AV| AV动漫在观看| 久热久色| 韩国aⅴ无码专区在线观看| 高潮视频在线快速多人| 中文无码伦aV中文字幕在线| 亚洲A级片免费看| 亚洲中文字幕无码永久在线不卡| 亚洲成a人片俱乐部| 青草青青激情视频在线观看| 国产黄色爱视频| 国产打屁股调教在线播放95| 曰本无码不卡高清av一二| 俺去了俺来也在色线播放| 久久精品国产亚洲AV热九九热| 7777久久中文字幕| 国产精品久久久久精品综合| 国产在线小视频| 亚洲综合网址| 成年女人免费视频播放人 | 免费看国产曰批| 无码人妻精品一区二区三区东京热| 亚洲色大成网站www不卡大全| 在线精品国产中文字幕| 东北熟女啪啪av| 日韩AV系列在线观看| 亚洲欧洲日产国码av系列| 97影院在线理论| 中文字幕无码肉感爆乳在线| 在线观看不卡免费污| 国产精品亚洲А∨天堂免下载| 丁香五月天尤物综合| 国产精品无码A∨在线播放| 被弄出白浆喷水了视频不要钱| 色天堂mv视频在线观看| 制服无码网站| 天天澡日日澡狠狠澡欧美老妇| 无码一二三区| 在线观看国产午夜福利片| 伊人狠狠色丁香婷婷| AVtt手机版天堂网国产| 2022高清免费无码视频| 俄罗斯女女破苞视频| 日韩a∨无码中文无码电影| 在线男女激情网站| 国产精品高潮呻吟88AV| 又黄又大又粗又刺激的视频| 中国一级毛片视频| 中文字幕 第2页| 在线观看A∨网站| 国产桃色精品无码视频| 强奷漂亮的女教师中文字幕| 熟女av导航| 亚欧乱色国产精品免费九库| 精品少妇毛片免费观看| 思思久久精品视频| 中文字幕在线无码不卡视频| 亚洲h成年动漫在线观看不卡| 18禁特黄A级120秒试看| 888狠狠狠狠7777米奇| 午夜无码不卡| 男男在线一区| 国产精品天干天干在线观看| 亚洲综合色88综合天堂 | 国产午夜免费不卡精品理论片| 艾草网亚洲AV无码专区国产乱码久久| 色www视频永久免费| 麻豆国产区精品系列在线| 日本韩国一区二区三区| 国产偷窥厕所一区二区| JK娇喘高潮福利视频| 超碰97人人射妻| 妲己影院一欧美视频| 疯狂做受在线| YJizz国产精品视频| 日韩精品人妻系列无码av东京| 越猛烈欧美XX00动态图免费| 亚洲色偷偷综合亚洲AV伊人蜜桃| 另类小说综合网站亚洲| 性色av无码专区| 玩弄未发育的小馒头缝| 4hc44四虎www在线影院| 亚洲免费人成一二三| 亚洲无码网| 欧美韩日精品一区二区三区| 真人美女裸体做污污事免费| 狼人色香| 亚洲免费无码视频| 精品一区二区三区自拍| 91超碰在线观看免费| 亚洲乱码尤物193yw在线观看| 1000部禁片大全免费毛片| 国产精品三级一区二区| 人妻中文久热无码丝袜| 成人午夜看黄在线尤物成人| 欧美成人三级视频网站在线| 国产一草草影院| 人妻不戴套绝色无码中出| 亚洲一区二区在线精品播放| 天堂a无码a无线孕交| 亚洲第一页欧美在线播放| 深夜美女高潮喷白浆视频| 91久久嫩草影院免费看| 免费无码毛片一区二区本码| 婷婷六月激情综合在线人| 亚洲孕妇综合AV一区| 国内国外精品一区二区 | 大陆国语对白国产av片| 美女的胸又黄又www的网站| 欧美成人免费在线视频1| 大量老肥熟女偷拍视频| 久久黄色视频高清| 黑人巨鞭大战中国女人视频 | 一本色道久久综合一| 2022国产无码视频在线看| 五月天久久免费播放| 免费无遮挡无码视频在线观看洗澡| 国产熟女乱子视频正在播放| 亚洲性色av一区二区三区| 婷婷精品三级| 无码里番纯肉h在线网站| 日本真人做受视频试看| 一本大道中文香蕉在线视频| 国产三区在线观看杨幂| 16女下流水视频| 欧美伊人亚洲伊人色综| 国产女人久久精品视| 久久久亚洲精品无码| 亚洲韩国国产AV网| 欧美成人精品三级网站| 久久综合色另类小说| 一本之道高清乱码久久久| 亚洲欧美在线视频一区二区| 中文在线亚洲在| 美女自慰在线观看| 免费h视频在线观看一区二区三区 日日模夜夜添夜夜操 | 1024精品 国产| 亚洲AV综合AV一区久久久妖精| 99久热RE在线精品99 6热| 成人a大片在线观看| 最新午夜国内自拍视频| 超清制服丝袜无码av福利网| 久久国产精品张柏芝| 波多野结衣无码一区二区三区在线| 亚洲一区动漫3d专区| 国产精品午夜爆乳美女| 亚州午夜影院| 久久精品36亚洲色束缚| 亚洲色无码专区在线观看金品 | 又大又硬让爽个够免费视频| 亚洲国产精品无码久久一区二区| 亚洲天堂,com| 亚洲尤物av一区| 亚洲视频日本有码中文字幕| 一本到无码专区av无码| 欧美三级日本三级人妇三级| 69堂午夜精品视频在线| 麻豆精品久久久久久中文字幕无码| 欧美日本成人| 免费看美女裸体无遮挡网站| 视频区中文字幕日韩专区| 最新AV网站在线网址观看| 欧美片欧美日韩国产综合片| 办公室秘书在线观看| 午夜成人鲁丝片午夜精品| 无遮挡激情视频国产在线观看| 中国熟妇同性性爱| 国内精品日本和韩国免费不卡| 久久99精品国产二区| 久久精品无码Aⅴ一区二区| jizz在线观看| 无码国模产在线观看免费| JIZZ丝袜老师国产在线观看| 国内熟妇性视频| 日本卡一卡二新区乱码网红| 国产欧美丝袜不卡在线| 无码成人片一区二区三区| 国产精品337P| Julia无码专区在线播放| 九九热线这里只有精品视频| 少妇爽快一级片视频| 国产成人精品免费午夜app| A级片视频在线免费观看| 一区二区国产高清视频在线 | 亚洲一区AV无码少妇电影| 免费观看很黄很色裸乳视频网站| 19禁大尺度吃奶 Hd| 久久国产张柏芝| 国产一区二区香蕉| 国产在线观看91精品一区| 妺妺窝人体色www看美女图片| 免费看黄色网站| 一区二区三区在线有码视频| 好多水好硬好紧好爽视频下载| 中文字幕久久久久人妻无码| 国产爱AV| 国产三级a三级三级| 亚洲免费网站久久| 夜爽夜夜网| 尤物超碰在线| 野花视频免费观看高清在线观看| 经典麻豆国产乱子伦精品视频| 视频区制服丝袜第一页| www.伊人五月天| 国产迷奸在线看| 国产精品婷婷午夜| 最新在线不卡中文字幕| 18禁人妻熟妇| 国自产拍免费在线播放| 亚洲AV电影一区二区三区四区| 精品日韩AV一区在线| 成 人影片 免费观看视频| 私人影院污污污无码| 五月激情六月婷婷| 好紧好爽要喷了在线影院| 欧美一级黑人一级| 韩国精品一卡二卡三卡四卡2021 | free性玩弄少妇hd| 妓女网一区二区| 亚洲VA男同久久| 亚洲欧美人成网站在线观看看| 少妇极品熟妇人妻无码| 春宵福利站导航| 91超碰在线尤物| 无码视频一区| 亚洲精品视频在线观看你懂的| av在线色啊| 操亚洲美女| 真实处破女免费看| 好大好硬好深好爽想要av| 在线观看黄a级视频| 最新国产在线AⅤ精品| 农村少妇野外一级毛片在线| 大学生无套带白浆嗯呢啊污在线| 天堂网尤物视频| 91中文字幕在线视频| AV天堂最新手机网址| 久久中文精品无码中文字幕下载| 亚洲区日韩精品中文字幕| 人人爱人人插黑人毛片| 放荡日本少妇高潮出水| 国内少妇自拍区视频免费大全| 日韩国产成人无码av毛片| 久久99久久99精品免观看| 精品少妇人妻无码久久| 天堂va欧美va亚洲va好看va| 99久久国产精品免费热| 末成年女av片一区二区| 国语自产拍在线视频中文影音先锋| 国产污在线观看| 日韩少妇无码一区二区免费视频| 伊人大香线在线播放| 各种国产黑人在线观看| 无码国产午夜视频在线观| 中文字幕丝袜一区二区| 18禁很色很爽很黄的免费网站| 永久免费的拍拍拍网站| 久久精品这里热有精品| 免费裸裸体大胸美女网站| 天堂AV无码大芭蕉| 波多野结衣好大好紧好爽| 免费看美女自慰| 色www永久免费| 正在播放美乳高潮在线| 东北熟女裸体视频| 久久久精彩视频| 亚洲一区二区自偷| 国产av自拍一区| 少妇αv影院| 777色春国产| 国产性爱一级片| 四虎国产视频| 久久AVHD| 欧美啪啪一区二区| 国产精品毛片久久蜜月A√| 永久免费精品性爱网站| 99久久精品国产欧美| 亚洲AⅤ无码在线| 精品国产污免费网站在线观看| 卡通动漫中文字幕在线观看一区二区| 日韩加勒比无码啪啪| 香蕉精品视频在线观看| 精品AA小视频| 伦埋琪琪深夜福利| 各种少妇bbw撒尿| 2020亚洲а∨天堂在线直播| 成熟女人牲交视频免费看 | 亚洲国模一区二区三区视频| 亚洲欧美日韩中文在线| 日本不卡不码视频| 国产性推油按摩AV中出| 亚洲AV无码秘 蜜桃1区| 久久九九热re6这里有精品| 国产饥渴孕妇在线播放| mm1314午夜福利在线| 18禁止的观看啪啪免费| 九九热线这里只有精品视频| 亚洲 欧美 日韩 综合aⅴ| av无码免费专区性爱av| 国产一级做a爱免费观看| 2020狠狠操| 亚洲男男同人啪啪拍网站| 人妻丰满熟妇av无码区app| 国产亚洲情侣一区二区无| 超清无码Av在线播放麻豆| 真实播放国产乱子伦视频| 性Av在线| baoyu永久免费视频| A4YY私人影院毛片免费 | 国产精品一区二区av麻豆| 日韩精品无码不卡无码| 老司机精品视频在线| xx在线观看网站免费入口| 亚洲一区一站av| 激情综合丁香| 厨房玩朋友娇妻hd完整版视频 | 国产福利小电影| 性色一区二区三区视频| 吃奶揉捏奶头高潮视频HD| 国产亚洲精品自在久久VR| 8050午夜二级一级全黄| 成年人免费黄色网| 97久久国产亚洲精品超碰热| 亚洲丁香色婷婷综合欲色啪 | 国产老肥熟xxxx| 在线操av| 狠狠久久精品中文字幕无码| 五月天AV在线综合| 波多野结衣午夜在线理论| 曰本无码人妻| 亚洲日韩aⅴ在线视频| 人鲁交精在线视频| av天堂免费在线观看| 精品少妇大屁股白浆无码| 色多多Av网站| 多人强伦姧人妻完整版bd| 久久久久精品免费毛片| АⅤ的天堂网最新版在线 | 国产女主播高潮在线观看| yellow中文字幕熟女| 亚洲AV乱码久久精品蜜桃| 超级碰碰青草免费视频| 免费特黄一区二区三区视频一| 综合色区亚洲熟妇| 亚洲人妻无码一区二区三区| 免费人成在线播视频| 91无码福利一区二区| 久久久久久亚洲精品中文字幕| 精品国产色色色| yy111111少妇影院喷水仙踪林| 百合av一区二区三区| 亚洲精品无码你懂的网站369| 亚洲国产精品国语在线| 亚洲高清ag在线观看| 一级毛片在线播放^&| 狠狠色成人综合| 成人免费AV不卡在线观看| 国产成人亚洲无吗淙合青草| 人妻无码一区二区三区免费视频| 一人看ww在线高清| XX哦哦动态图| 国产在线无码免费一区二区| 免费毛片欧洲毛片| 亚洲日本VA中文字幕在线| 精品日韩久久久| 中文字幕无码人妻不卡| 好吊色永久免费视频大全| 国产久免费热视频在线观看| 国产真实伦对白精彩视频| 国内熟妇人妻色无码视频在线| 国产AV无码专区亚洲AⅤ| 日韩亚洲天堂| 一级欧美一级日韩片| 一边做一边潮喷视频| 日韩啪啪A| 国产高中粉嫩无套第一次| 21AV少妇导航| 又黄又刺激动漫的免费视频| 亚洲无码骚骚妇| 日本不卡码在线高清观看| 亚洲影视色偷偷色偷偷色偷偷| 亚洲精品综合久久中文字幕| 又租又长又硬又黄的少妇毛片 | 中文字幕不卡人妻在线| 欧美色哟哟激情在线视频| 亚洲精品一二三四区波多野结衣| 特黄a级毛片| 久久伊人草| 一木道在线视频免费播放DvD| 宅男午夜视频| 人妻丰满熟妇αv无码区| 在线成人中文字幕| 亚洲第一综合导航尤物| 欧美a级在线现免费观看| 18出禁止看的啪视频网站| av免费网站看| 色窝窝手在线视频| 私拍视频99| 一区二区三区啪偷拍| 亚洲漂亮少妇毛茸茸| 四虎自拍视频线观看| 永久无码在线观看| 高潮抽搐流白浆视频在线观看| 午夜tv视频免费国产区4| 国产精品免费福利电影网| 在线观看巨爆乳大杂交| 亚洲AV无码久久精品国产| 好男人社区神马在线观看www| 亚洲日韩欧美资源总站| 亚洲无码PRON| 国产精彩视频| 日韩在线免费看网站| 娇妻高潮白浆狂涌视频| 大胆顶级欧美A级视频| av电影在线观看| AV大片在线无码永久免费网址| 亚洲热网| 亚洲成AV人久久| 凹凸国产熟女精品视频| 亚洲自慰偷拍2021| 伊人无码不卡| 精品亚洲AⅤ在线观看| 国产sm调教折磨视频失禁| 欧洲处破女免费观看| 国产男人影院| 欧美成人免费影片日本| 亚洲人av高清无码| 激情亚洲婷婷| AV在线网站手机版| аⅴ天堂在线| 亚洲伊人成无码综合网| 国产高中生口爆吞精| 在线看片免费人成视频福利| 日本久久a大片观看| 在线观看黄丝袜地址视频污腿| 国产午夜毛片v一区二区三区 | 在线观看永久视频| 无码看片在线观看| 中文字幕有码人妻| 国产高清在线男人的天堂| 色天天综合色天天天天看大片| 伊大人香蕉久久网欧美| 亚洲欧洲日产国码中文| 无码不卡爱爱网址| 国产一区精品在线| 第一无码影院| 深田咏美制服丝袜在线高清| 免费一级欧美精品| 又黄又爽又深又粗又大的视频| 国产精品无码一区二区在线观| 成人免费无遮挡无码动漫在线看| 精品爆乳一区二区三区无码AV| 午夜福利在线观看| 在线bt天堂网www| 亚洲成a人片在线观看无码专区| 97超碰国产精品无码| 久久91精品国产91久久跳舞| 好大好硬我要喷水了视频| 伊人久久大香线蕉成人| 又大又粗性av无码天堂免费| 久久久久亚洲AV无码专区首| 人妻无码一区二区在线影院| 亚洲成在人线中文字幕| 99久久精品无免国产免费| 久久久久亚洲AV无码六十路老熟| 中文字幕精品无码2021| 20女人成熟牲交片| 一区二区无码中出| 动漫在线无码一区| 永久免费AV无码网站国产岛国| 2017av天堂网无码| 国产女同片免费| 国内精品视频一区二三区不卡| 中国女人内谢69XXXX视频| 久久精品国产久精国产69| AVT天堂网手机版| 久久艹国产麻豆| 又黄又刺激的网站在线| 免费人成在线观看网站品善网| 亚洲一区二区三上悠亚| 8x8ⅹ国产日韩欧美| 春宵福利导航。| 亚洲免费的福利片| 国产人成午夜免电影费观看国内在线精品2021| 亚洲另类欧美综合久久图片区 | 一区二区三区无码自拍| 国产av永久精品无码| 国产美女一级A级毛片| 亚洲av女人的天堂| 久久综合九色综合欧美百度 | 成 人 A V 动漫在线观看| 99久久精品aⅴ| 婷婷尤物在线观看| 关晓彤被高潮出奶水| 亚洲国产精品久久久秋霞| 国产中文字幕在线观看视频| 欧美精品啪啪一区二区三区| 亚洲精品AⅤ无码精品| www,亚洲无码| 寡妇野外啪啪一区二区| 日韩在线24视频| 26uuu亚洲国产精品下| 99爱情侣偷拍视频| 五级黄高潮片90分钟视频| 国产男女男免费视频软件| 国产情侣一区在线| 国产女教师AV网站| 亚洲女同精品一区二区| 无码加勒比av在线| 2020国产成人最新视频不卡| 69老司机午夜免费影院| 中国人体一区二区| 国产女尤视频91| 五月丁香六月综合激情在线观看| 国内在线一区二区三区| 久久综合九色综合97网| 小14萝裸体洗澡视频稀有视频 | 国内精品久久久久久无码| 国产男女被愉拍在线视频| 亚洲 欧美 日韩 综合aⅴ| 国产综合精品日本亚洲777| 久久影院尤物视频| 国产成 人 综合 亚洲专区| 亚洲伊人精品综合在合线| 亚洲无码加勒比| 孕妇变态av无码不卡顿| 永久不封国产毛片av网煮站| 激情婷婷丁香9月色综合| yY111111少妇影院免费 | 在线看AV片得得的爱免费| 99久久综合狠狠综合久久| 国产在线精品国偷产拍| 加勒比无码一区| 国产精品白丝无线一区| 国产未成满18禁止免费看| 无码不卡影院| 国产丁香五月免费高清在线| aⅴ网站在线观看| 日韩AⅤ精品国内在线| 丝袜国产在线| 久久96热在精品国产高清| 亚洲中文字幕无线无码| 无码少妇一级Av片在| 国产老妇伦国产熟女老妇高清 | 精品久久久午夜| 亚洲欧美不卡高清在线观看| 国产免费一区二区三区VR| 午夜性刺激免费看视频在线| 久久99九九99九九99精品| 久久国产热视频| 免费人妻无码不卡中文视频| 亚洲十五区在线| 在线观看免费AV网址免费| 久九九久视频精品网站| 亚洲熟妇色XXXXX亚洲| 国产AV不卡专区| 精品国产成人a在线| 啊用力太猛了啊好深视频免费| Av天堂手机观看| 一区二区三区高清晰不卡免费视频| 久久久久久无码午夜精品| 亚洲综合精品成人| 婷婷五月天啪啪| 粉嫩的小仙女白丝高潮| 精品国偷自产在线视频| 天天碰免费上传视频| 日韩AV无码乱伦丝袜一区| videosex高潮喷水| 中文字幕第二页在线观看| 99色综合| 亚洲国产另类久久久精品| 美国黄片一区二区三区 | 成 人 在 线 亚 洲 无 码电影| 女上男下边做边叫视频免费| 国产动态图美女| 国产精品一区电影| 顶级少妇自慰喷白浆| 国产精品视频久久久| 亚洲成AⅤ人片在线观看无APP| 久久电影午夜福利视频| 亚洲a人成| 国产av永久精品无码| 极品av一区二区| jK视频h在线观看网| 在线白嫩| 国产精品久线在线观看| 丝袜高潮喷水av| 真人做受120分钟试看3分钟| 色多多在线视频观看网站黄| 国产精品360盗摄| 久久亚洲AV成人无码高潮| 初高中洗澡裸体在线视频网站| 超碰av一区二区| 两性色午夜视频免费播放| 国产一区二区怡红院| 国产精品尤物视频麻豆| 亚洲熟妇无码片| 高清一区黄色视频| 2019国自产拍偷拍| 欧美福利网| 精品一区二区无码av| 人妻无码人妻有码不卡| www西西人体| 色就色 综合偷拍区第三十七页| 一本一道久久久无码毛片A∨| 18禁止网站国产| 野花视频在线观看最新免费3| 2021国内精品久久久久免费| 亚洲欧美日韩另类精品一区二区三区| 2021无码在线| 国产a级特黄的片子免费| 国产精品白丝JK黑袜喷水视频| 国产色婷婷精品免费视频 | 国产自产在线视频一区| 秋霞理论在一l级少妇人喷水| 久久人妻AV无码一区二区| 18禁影院亚洲专区| 自在线看精品国产高| 成年视频免费看拍拍拍| 精品爆乳一区二区三区无码AV| 人妻丝袜无码| 3D动漫一区第2页| 两个人看的www高请| 中文字幕久久综合久久88| 五十路熟妇乱子日本伦视频| 狠狠综合亚| 国产亚洲福利在线视频| 18禁成年免费无码国产| 777国产精品永久免费观看| 2022Av天堂网未满十八岁跳转| 欧美日韩免费在线| 中国A级毛片视频观看免费| 呜嗯啊野战h呻吟小说总裁| 99爱在线精品视频免费看| 高h激情视频在线观看| 国产成人国产在线观看| 无码丝袜人妻| 欧洲处破女免费观看| 99久久影院| 91大香蕉视频在线| 又黄又刺激的视频,在线观看| 被cao的合不拢腿的皇后| 91视频国产免费| av在线中文播| 国产在线激情草| 丰满人妻少妇| 国产肉色视频在线观看| 亚洲有码AV中文字幕| 国产精品cosplay在线观看| 中出无码在线| 国产av巨作丝袜秘书| 五月天婷婷在线观看| 久久3p| 被夫好友侵犯中文字幕影音| 国产 亚洲 日产无码| 中文字幕有码无码视频| 在线你懂的| 一区二区三区日韩成人片无码区| 又爽又硬又湿又大的视频| 丁香婷婷麻豆激情综合| 丰满少妇熟妇人妻p| 久久久一本精品99久久精品88| 亚洲色偷拍区另类无码专区 | 久久水蜜桃网国产免费网站| 亚洲欧美精品伊人久久| 国产第一综合另类色区奇米| xyx性爽欧美| 人妻系列无a v码专区| 日本子息乱理中文字幕| 免费裸体网站18禁免费看| 国产无遮挡指交视频| 国产高潮女主播| 亚洲无码爱| 视频在线观看免费网址你懂的| 亚洲日本va午夜在线电影蜜芽| 正在播放五十路老熟妇| 真实男女XX00动态视频午夜| 被窝里成年视频在线观看| av丝袜在线无码| jiZZJIZZ日本护士视在线观看| 国产尤物亚洲精品不卡| 男女啪啪免费观看的网址| 国色天香在线视频免费观看| 欧美影院在线亚洲| HEYZO专区无码综合| 欧美国产精品啪啪| 亚洲成a人片在线观看网站| 国产精品三级一区二区按摩| 亚洲五码在线看| 精品亚洲永久免费精品| 孕妇新无码一二三专区| 日韩一区二区国产| 亚洲欧洲中文日韩av乱码| 2022精品自拍视频手机在线观看网站| 亚洲国产精品久久久久 | 国产三级视频在线播放线观看| 最近中文字幕MV在线视频20| 国产在线五月综合婷婷| 国产av综合网| 亚洲国产男同同性videos| 国产又爽又黄又无遮挡网站| 大胆亚洲Av片| caopor一区二区| 99久久精品无码专区免费东京热| 在线亚洲欧美sm网址| 久久久久久国产精品| 不卡人妻中文字幕| 国产无套粉嫩白浆在线| 人妻斩 无码在线| 亚洲精品第一页国产精品| 麻豆久久婷婷综合五月国产| 中出无码在线观看高清| xxxxxbbbbb非洲黑人| 中文有码亚洲制服av片| 高潮时奶水喷出来了H视频| 2021在线看片免费人成视频| 成在线人午夜剧场免费无码| 又色又爽又黄的视频,抽搐一进一出gif| 免费av在线国模| 久久不卡一二三区视频| 亚洲美女视频A在线观看| 喷水自慰在线观看| 最新国产裸模视频视频在线| 久久无码中文字幕东京热| XXXXX做受大片喷潮| 久久一本色道综合| 美女裸体无遮挡很黄很黄的视频| 久热香蕉在线视频网站| 国产一区高清视频| 4438亚洲最大视频在线免费看| 一本大道久久香蕉成人网| 亚洲欧美视频一区| 精品熟女少妇免费久久| 国产黄片视频| 97骚碰视频| 大型国产av| 泰国精品午夜偷窥| 中文有码在线观看| 伊人久久综合亚洲亚洲| 午夜精品一区二区三区高清视频| 国产精品欧美日韩| 亚洲vA国色天香| 无码Av岛国片在线播放| 狠狠综合久久综合88亚洲| 久久久成人毛片无码| 好吊操无需播放器手机在线| 亚洲性色五十路| 性国产毛片| 国产精品偷窥熟女精品视频| 亚洲无码午夜福利在线| 亚洲h成年动漫在线观看尤物| ⅤA在线中文字幕| 尤物yw193国产免费观看| 国产手机在线精品| 国产AV大全网站| 狠狠久久综合| 久久国产三区| 中文字幕亚洲母乳| 在线视频偷国产99| 亚洲福利影院| 又色又爽又黄视频| 最新午夜福利片| 久久无码专区国产精品| 久久国产线看精品观看yw| 亚洲精品无码| 中文字幕aⅤ在线| 人妻熟妇丰满av无码| 色拍自拍亚洲综合图区| 91av电影在线观看| 国产а天堂在线| 杨幂被强奸倒高潮的视频| 强奷妇系列中文字幕| 亚洲日韩国产欧美一区二区三区| 久久男女女视频| 波多野结衣精品一区二区三区| 午夜AV免费播放不卡三区| 亚洲国产一区二区三区综合片| 看全色黄大色黄女片| 国内精品一区二区芒果视频在线观看| 无码'专区第一页| 2022男人的天堂网| 国产精品毛片一区二区三区| 在线观看国产欧美日韩| 中文美腿人妻不卡视频| 好湿好痛好紧的A级视频| 欧美3p两根同时进高清视频| 看免费中国产的性爱大片| 亚洲av 国| www激情| 四虎无码高清| 窝窝人体色.www| 青青草原免费黄色网站视频在线观看| 国产黑色丝袜视频在线观看| 欧洲av毛片| 亚洲欧洲国产伦综合| 毛片亚洲区视频| 五月天伊人久久| 亚洲第一视角不卡高清在线| 一区二区三区日韩| 另类小说色| 无码人妻丰满熟妇片毛片| 车上乱肉合集乱500小说| 国产精品亚洲专区无码web| 在线看片xxxxx| 亚洲日本成人在线片| 国产尤物视频在线| 亚洲国产成人精品无码区2021| 在线亚洲欧美sm网址| 夜间福利片10000无码免费高潮| 大依香蕉性爱| 爱爱永久免费网址| 国产六月婷婷爱在线观看| 亚洲欧美香港在线观看三级片 | 老子影院午夜伦不卡亚洲欧美| 2021天天做夜夜爽视频| 亚洲综合成人婷婷五月网址| 天堂在线看a| 国产成人精品日本亚洲成熟| 色老汉免费网站免费视频| 范冰冰性XXXXHD杨幂性XX| 成视人a免费观看自wei 视频| 第一区视频| 久久亚洲伊人中字综合精品| XXXX18日本视频XXXXX| 亚洲永久无码动态图| 亚洲国产精品久久电影欧美| www污黄色网站| 高清一区二区播放亚洲| 伊香蕉网站在线观看香蕉| 精品免费久久| 波多野结衣免费一区二区三区| 色色九月婷婷| 国产成人Av一区二区三区不卡| 国产精品三区不卡| 尤物性视频在线播放| 无码一区二区三区免费| g0go人体大尺香蕉| 天堂AV无码大芭蕉| 亚洲制服丝袜精品久久| 亚洲h视频在线观看| 最新久久国产AV| 久久亚洲精品电影| 日日做夜夜做欧美| 一本色道无码道dvd在线| 色婷婷综合在线观看| 亚州毛毛片| 欧美激情视频一区二区免费| 成年看片免费视频播放人在线| 西西大胆午夜无码视频| 精品国产闺蜜在线拍国语| 成 黄 色 激 情视频网站| AV一区二区三区无码| 公交车上拨开少妇内裤进入视频 | 无套粉嫩国语对白| 夜夜操操艹| 粉嫩小仙女扒开自慰喷水白丝| 国产真实愉拍系列在线视频| 40岁成熟女人牲交片| AV无码精品一区二区三区宅噜噜| 又爽又黄又无遮挡网站| 伊人久久亚洲综合影院首页| 国产精品浪货在线观看| y111111少妇影院无码| 偷偷鲁偷偷鲁综合网站| 国产区露脸女主播在线观看| 在线精品亚洲欧洲第一页| 少妇白浆在线| 国产成人久久精品二区三区| 成年视频一区二区三区| 一区二区三区在线专区视频| 无码人妻AV免费一区二区 | 亚洲啊啊啊视频| 亚洲 无码 免费 日韩| 中文字幕一区二区三区绿巨人| 人妻无码一二三区免得| 午夜影院高清不卡| 日韩无码白| 久久久久久久精品女人毛片| 538免费视频| 亚洲日韩看片无码av| 思思久久精品视频| 国产69堂高清精品| 午夜国产精品无码久久| 国产在线观看18岁| 色图网免费视频在线观看十八禁 | 久久精品无码视频| 99热思思精品在线观看| 193尤物视频| 成年女人黄色视频免费看| 男女日批视频免费看| 国内久久久久久精品肉蒲| 国产精品三级国产电影| 欧美老妇一区| sm一区二区无码视频| 欧美人成在线播放网站免费| 强开小娟嫩苞又嫩又紧| 美女18禁黄无遮挡下载网站| 人妻无码AⅤ中文字幕系列 | 国产草莓视频无码免费视频| 亚洲欧洲在线视频| AV永久天堂| 亚洲女人天天要夜夜要| 亚洲国产成人AV网站| 被弄出白浆喷水了视频色多多| 久久精品国产老师| 香港三日本三级少妇三级99| 国产乱子伦| mm131美女爰做视频| 打香蕉av在线| 国产网红在线观看免费| 456性欧美在钱视频| 激情人妻网| 国产精品久久一区二区三区Aⅴ | 91一区二区视频| 2022国产小视频在线观看| 人妻av无码系列一区二区三区| 色欲香天天天综合网站小说| 国内精品久久久久久影院| 不卡日韩AV导航| 成a无码| 中文字幕色婷婷在线精品中| 成年跟小屁孩激情免费网站| 免费不卡在线观看av| 日韩亚洲av人人夜夜澡人人爽| jizz丝袜壮感的18老师| 视频一区亚洲色图| 欧美人与动牲交片免费| 少妇夜夜春夜夜爽试看| 99久久国产精品免费热| 精品三级av无码一区| 国产成人无码AV在线播放不卡| 国产在线下药迷倒闺蜜| 午夜福利导航在线视频| 国产热の有码热の无码视频| 国产精品理论片在线观看| 午夜福利男女XX00动态图翅| 4080YY理论片在线播放日本| 中文纯内无码H| 亚洲成无码AV在线播放| 综合色天天鬼久久鬼色| 又黄又湿又爽的视频| 在线看日本十八禁免费网站| 百合视频纯肉在线观看| 欧美亚洲另类精品第一页| 杨幂性XXXXHD国产| 一本色道综合网| 日韩天堂 av中文| 亚洲精品人中文字幕高潮| 骚妇影院Y111111| 在线观看喷水白浆AV| 免费网站在线18禁无码| 亚洲成av人在线观看天堂无码| 一边摸上面一边摸下边的动态图| 26uuu老熟女| 最好看的2019中文字幕视频| 精品亚洲成av人在线观看| 久久久久久久无码高潮| 天天做天天欢天天爽| 强奷白丝美女在线观看| 极品美女AV在线播放| 特级毛片a级毛片免费播放蜜了蜜芽| 亚洲 美腿 欧美 偷拍| 久久精品中文字幕有码| 亚洲国产乱| 户外露出一区二区| AV毛片网| 亚洲AV无码日韩一区二区乱| 日本亚洲一区二区三区免费电影| 欧美亚洲另类色多多视频| 仙子粉嫩玉腿抽搐直流水| 福利影片无码在线| 日本按摩女高潮喷水视频 | 国产理论一区| 久爱www人成视频在线观看| 成人无码视频在线观看大全| 丰满人妻一区二区乱码中文电影网| 中文字幕在线亚洲二区| 国产日产韩国精品视频,| 对白离婚国产乱子伦视频大全| 中国一级黄色毛片视频| 亚洲h在线观看| 亚洲人成网站77777·c0m| 亚洲五月天狠狠夜麻豆| 无码视频一区二区三区| 5060永久一级毛片| 真实国产乱子伦在线视频不卡| 欧美日韩精品麻豆精品| 亚洲欧美日韩综合久久| Hⅴ无码国产亚洲大全| 久青草中文字幕精品视频| 午夜影院亚洲视频| 亚洲国产精品特色大片观看完整版| 老司机亚洲精品影院在线下载| 最新免费国产中文无码黄色网站| 日本人妻人人人澡人人爽| 性黑人欧美大战| 99国产美女露脸口爆吞精| 2021AV天堂在线免费观看| A∨中字片在线观看| 电车美人强奷系列在线播放| 日韩欧美精品在线视频| 风间由美一区二区| 亚洲Av手机在线观| 白浆在线观看国产| 国产成人a在线观看网站站| 一本大道精品视频在线| 麻豆国产成人AV在线网站| 中文字幕无码乱在线| 成品AV小说区在线看| 亚洲中文字幕av无码专区| 多毛丰满日本熟妇| 美女不带套日出白浆免费视频| 亚洲国产精品自在拍在线播放| 亚洲偷少妇熟女| 久久香蕉极品视觉盛宴| 色AV吧高清在线播放| 尤物AV在线点击进入| 妓女 一区二区三区四区 绝色| 男女边吃奶边摸下面的免费视频| 亚洲无码500| 中文字幕一区二区三区乱码不卡| 亚洲Av片久久久| 久章草国语自产拍在线观看| 欧美les视频XXXX在线观看| 中国五月婷婷| 韩国日本免费不卡钱在线看| 二区黄色视频| 二色av电影网| 大陆无码在线| 一道本不卡免费视频| 国产婷婷在线精品综合100| 成 人 A V 免费网站| 亚洲国产私拍精品国模在线| 香港三级日本三级a视频| 扒开双腿猛进入免费观看污| 日日摸夜夜添夜夜添无码| 白丝jk高潮喷射在线观看| 91社区丰满人妻| 国产老妇在线观看| 亚洲AV无码一区二区三区DV| 亚洲熟妇熟伦| 国产女精品视频网站免费蜜芽| 国产精品电影久久久久电影网 | 69堂在线亚洲| 手机在线视频 国产口爆| 黄色网站无毒不卡| 伊人大杳焦在中文字幕| 91系列在线观看免费| 黄色电影久久久久| yy111111美女少妇影院| 亚洲AV无码国产精品午夜黑丝| 最新亚洲av女人的天堂| 高潮无遮挡猛烈动态图国产片| 爆草熟女| 国产精品亚洲AⅤ一区| 在线播放字幕中文色| 91超碰自慰| 在线看日本A∨人妖| 久久96精品国产| 爆乳动漫美女脱内衣裸体网站| 国产打屁股调教在线播放95| 亚洲AV无码国产综合一区二区| 嗯,午夜视频,嗯,。| 亚洲AV日韩综合一区二区三区| 又粗又硬爽个够免费视频无码| Japanese在线精品视频| 欧美综合伊人久久| 2021国产最新无码视频| 国产一区二区怡红院| 欧美色图一区| yw尤物AV无码国产在线看yu| 啊嗯不日本网站| 男人av无码天堂| 国产老妇伦国产熟女老妇高清 | 尤物国产193在线| 夜夜高潮夜夜爽高清完整版1| 成在人线av无码免费高潮水| 视频一区视频二区淫秽视频| 无码超乳爆乳中文字幕久久| 国产精品色婷婷亚洲综合看片| 国内精品久久久影院| 四虎最新免费在线观看入口欧洲| jizjizjizjiz日本高潮| 丰满熟女BBWBBW| 欧美a级在线现免费观看| 极品少妇口爆吞精深喉视频| 亚洲理论片| 国产未成满18禁止免费| 99精品国产自在现线10页| 日本在线观看| 午夜性爽快下面出水了| 国产浪潮A∨在线| 亚洲无码AV中文一区二区| a级理伦午夜日本区| 亚洲成AV人影院| 久久久无码精品一区二区三区 | 曰本女人与公拘交酡| 日韩AV无码乱伦丝袜一区| 国产私拍久久| 未成满18岁禁止免费观看网站| 免费无码一区二区三区| 综合五月天网| 国产精品亚洲色婷婷99久久精品| 亚洲 日韩 白丝 可爱| 精品视频在线播放观看| 丰满无码人妻热妇无码区gay| 自拍偷拍2020| 2021最新久久久视精品爱| 182tv午夜福利免费路线主页| 日本护士高潮叫床声| 中文字字幕在线中文无码| 巨色乳网站在线| 亚洲中文字幕无码永久不卡免弗| 国产熟女精品福利一区| 无遮挡男女一进一出动态图| 亚洲成av人片天堂网无码】| 我爱亚洲天堂| 国内精品久久人妻无码妲己影院| 你懂的在线观看网站| 白浆在线| 黑人巨大精品欧美一区二区| 亚洲少妇久久| 日本里番acg★里番免费| 欧美一级黑人一级| 波多野结衣一区二区三区免费视频 | 亚洲国产美女毛片| 久久精品一区二区无码AV| 亚洲最大无码AⅤ在线观看| 国产成人精品无卡无码AV| 亚洲日韩精品无码专区加勒比| 永久免费不卡在线观看黄网站 | 在线观看国产在线观看污| 国产精品SM捆绑调教视频| 中文字幕侵犯| 8x8ⅹ国产日韩欧美| 国产大片91精品免费观看不卡 | 韩国一区二区三区视频| 高清无码黄片视频| 久久久精品2019免费观看| 国产精品热久久| 亚洲AV无码国产精品色午| 亚洲黄色一区二区| 亚洲最大自慰网| 亚洲av红杏在线观看| 2021最新免费啪啪| av影音资源共享| 91五月天中国熟妇| 国产丝袜美女一区二区三区| 伊人狼友视频网| 单亲乱l仑视频在线观看日本| 无码3区| 嗯啊给我要到了高潮视频| 久久精品国产精品亚洲精品| 久久精品国产99国产精品最新| 久久综合久久美利坚合众国| 亚洲AⅤ综合无码二区| 国产第一页浮力影院草草影视| 亚洲欧美自慰一区二区| 又爽又黄又无遮挡的视频| 亚洲精品国精品久久99热| AV永久免费网站在线观看| 欧洲亚洲第一区久久久| 国产喷水网| 激情婷婷丁香综合基地| 未满十八18禁止免费网站大全| 亚洲另类图区影音先锋| 久久久久久AV无码免费网站下载| 被窝影院A级无码午夜片| 18禁亲胸揉胸膜下刺激免| 人妻爽综合网| AV无码最在线播放| 免费观看美女裸体无遮挡网站| 艳妇交换俱乐部| 各种高潮抽搐合集666| 波多野吉衣免费一区视频| 色综合A怡红院怡红院| 亚洲av无码一区二区三区人妖| 手机Av在线天堂| 亚洲春色无码| 综合偷拍区欧美| 国产浪潮AV一区| 国产аⅴ中文天堂最新版在线| 九月激情婷婷丁香| 好爽好大国产视频| 九九爱国产| 国产精品毛片无码无遮拦| 色婷婷综合久久久中文字幕| 被窝午夜看片无码| 嫩草未满十八在线观看| 多人强伦姧孕妇在线观看| 亚洲色自偷自拍另类亚洲美女视频| AV手机在线天堂在线| wwwxxxx色免费| 中国特黄美女一级视频| 丁香激情婷婷| 女人色极品影院| 亚洲成AⅤ人的天堂在线观看女人| 亚洲多毛视频| 日美中文字幕| 丁香五月天之婷婷影院| 国产下药迷倒白嫩美女观看| 制服丝袜AV专区| 国产无码在线视频制服丝袜| 黑人欧美又大的又粗| 丰满人妻连续中出中文字幕在线| 欧美日日网| 成年a级毛片免费观看| 美女 两个人的视频免费观看| 18禁超污无遮挡无码免费观看| 亚洲哟哟精品网站| 大胆超碰在线观看| 688欧美人禽杂交狂配| 亚洲无码gif动态图| 在线播放免费日本污网站| 2021亚洲а∨天堂在线免费| 极品美女扒开粉嫩小屄 | 国产美女被躁喷水网站| 无码不卡一区| 女人18毛片a级毛片免费视频| 超碰午夜在线| 亚洲精品多人P群无码| 国产精品美女被遭强扒双腿| AV在线蒂看片| 久热只有这里只有精品| av无码高清影院在线| 欧美在线视频你懂的| 国产成人亚洲综合无码精品 | 国产精品久久久久精品三级| 美女自慰在线观看| 人人爽人人澡人人人妻、百度| 无码pc高清在线毛片| 国产美女脱的黄的全免视频| 免费A∨中文| 久久黄瓜视频| 91最新国产| 久久精品囯产精品亚洲| 免费一区二区三区毛片| 影音先锋久久资源| 伊仁国产免费Av| 欧洲偷拍精品视频| 亚洲网站自偷自拍另类| 99视频精品全国免费| 亚洲精品嫩草研究院久| 最新亚洲无码大全| 国产亚洲网曝欧美台湾丝袜| 欧美xxxxx精品| 美女免费视频是黄的| 亚洲日韩国产二区无码| 69堂国产精品第一页在线| 亚洲一区肉欲在线| 一区三区国产| 国产精品久久亚洲不卡| 亚欧美综合| 又大又长又爽的视频日本| 丰满少妇弄高潮了WWW| 西西大胆无码视频免费| 99色我要噜噜噜| 美女脱内衣禁止十八以下观看免费 | 乱码熟女| 久久福利真人抽搐一进一出 | 国产v日韩v欧美v视| H无码中文字幕| baoyu成人免费视频网| 最近中文字幕完整免费视频| 717yy电影夜夜福利| 首页国产亚洲小说图片| 成人午夜一区二区三区视频| 亚洲天堂av网无码| 久久婷婷五月综合色区| 大战兰州熟女邻居| 又大又黄又粗XX视频| 波多野无码AV中文专区| 曰韩精品无码一区二区三区视频 | 亚洲国码av| 本道综合精品视频| 国产精品jk白丝AV网站| 狼友视频网站在线| 免费观看一级女人自慰| 92国产午夜福利1000集20| 日本a∨精品一区二区三区| 五月激激激综合网亚洲| 免费人妻一区二区三区| 精品熟女少妇av免费久久| 正在播放漂亮少妇欲求不满| 日本欧美一区二区三区在线播放| 一个色综合高清在线观看| 4HU44四虎WWW在线影院麻| 国产白浆在线观看| 大学生扒开粉嫩喷白浆| 久久99视频免费| 爆乳喷奶水无码正在播放| 国产午夜精品福利在线观看| 鲁丝一区鲁丝二区鲁丝三区| 国产亚洲va在线观看| 亚洲熟妇少妇任你躁在线| 久久综合九色综合久桃花网| 亚洲嫩模喷白浆在线观看 | 中文字幕+国产精品| 国产真实灌醉系列| 国产乱子伦高清露脸对白| 国产剧情自拍| 亚洲精品无码无卡在线观看| 永久天堂网免费2021AV手机版| 亚洲和欧洲和日本的视频| 亚洲一区julia在线播放| 久久无码av三级| 91麻豆精品国产自产在线| 国产一区二区三区不卡视频手机版| 久久一区二区三区精华液| 久久黄色视频15| AV天堂一区二区三区在线观看| 天天曰人人夜夜爽| 成人xx免费无码| 亚洲午夜福利| 丝袜老师办公室里做好紧好爽| 日韩一级片在线播放| 中文有码vs无码人妻麻豆| 中文字幕无线观看不卡网站| 国产叫床高潮视频免费看| 东京热加勒比无码视频| 女人的天堂毛片| 2019中文字字幕国产100页| 好大好爽我要喷水了视频视频| 18禁污污影片免费观看| 国产大全国际久久亚洲精品视频| 亚洲Av久播在线播放大| 国产高潮久久免费观看| 荔枝视频在线观看免费最新| 亚洲首页一区任你躁xxxxx| 最好看最新日本中文字幕| 朝鲜免费无码aV专区| 久久ww精品w免费人成| 成年人视频一区二区三区| 欧美成人网视频| 亚瑟在线无码| jk美女露出尿口| 大香蕉天天噜在线视频| av夜狼窝在线观看| 中国国产XXXXX免费视频| 国产精品欧美福利久| 亚洲影院漂亮人妻| 精品AⅤ一区二区三区| 国产在线精品国自产拍影院同性 | 国产一区二区三区精品| 国产精品夜间视频免费| 最新人妻中文字幕2021| 亚洲人77777在线观看| 机机干在线视频播放精品| 亚洲午夜激情视频| 久久久一区=区三区| 美妇不卡在线视频| 亚洲日韩∨A无码中文字幕| 加勒比不卡AV| 国产蜜芽麻豆一区二| 久久久久亚洲AV无码专区首JN | 最新在线精品国产福利| 亚洲精品青草| 爆乳福利网站| 国产精品福利片免费看 | A級毛片免費全部播放| 一个人高清在线视频免费观看www| 国自偷 亚洲 一区 二区| 一起看国产高清无码| 亚欧在线观看免费| 日本久久高清一区二区三区| 人妻丰满熟妇a无码区| 精品国产福利在线观看| 欧美日本一道免费一区三区| 人妻无码少妇一区二区三区| 国产乱子伦xxxx| 亚洲国产综合在线观看不卡| 黑人chinese中国china国产| 亚洲女同性同志熟女| 18禁AV网站点击进入| 777米奇在线观看视频国产| 久久精品手机观看| 无码专区丝袜在线播放| 男人桶爽女人30分钟视频| 国产精品天堂avav在线| 免费二级毛片在线播放| 福利导航 gif 中文字幕| 免费观看美女高潮视频| 日本高潮喷奶水在线播放| 波多野结衣免费一区二区三区| 午夜理论欧美理论片| chinese老熟妇老女人hd| 欧洲在线视频免费视频| 亚洲AV无码日产一区二区三区| 又爽又大欧美视频| 日本一区久爱精品免费| 世界一级毛片免费| 15min摘花出血视频| 日韩AV无码一区二区| ⅴa在线中文字幕| 日本免费观看永久片| av毛片高清无码免费在线观看 | 伊伊综合视频免费播放| 国产国语一区二区三区| 偷偷玩弄熟睡人妻中文字幕| 一区二区三区偷拍精品| 国产成人av在线影院无毒| 亚洲ⅤA韩国VA欧美VA精品| 国产一卡二卡三卡四卡视频版| 高h纯肉大尺度在线观看| 在线看黄V免费网站免费| 中文字幕永久一区二区三区| 在线一区中文字幕无码动漫| 成年女人喷潮视频免费观看| 欧美日韩影院| 禽杂交18禁网站免费| 国产无遮挡很黄很爽的视频| 国际无码精品| 麻豆AV 在线| 欧美怡红院免费全部视频| 97色伦在色在线播放不卡顿| 日韩精品电影一区亚洲高清| 国产高干肉视频在线观看| 久久97视频| 亚洲精品无码专区| 揉捏花蒂喷水np| 日本特黄aaaaaa大片| 国产精品香蕉在线的人| Japanese?中文在线| 亚洲欧洲日产无码av网站| 国产欧美日韩一区二区三区视频 | 女公务员人妻系列| 亚洲欧美日韩中文字幕一区二区三区 | 日本熟妇肥臀在线| 国产又爽又黄又无遮挡网站 | 丝袜美腿控国产AV| 18禁网站在线看| 在线观看污污的国产网站| 日韩无码高清| 欧美高清视频一区二区三区| 32cao超碰com草棚| 2021年国产精品每日更新| 亚洲无码国产精品免费| h视频在线免费观看| 国产强被迫伦姧在线观看无码| 两个人免费完整在线观看直播| 日本网站在线免费看不卡| 亚洲天堂无码不卡| 亚洲制服丝袜一区二区三区| 丰满女人毛片无遮挡| 亚洲婷婷丁香激情| 在线精品自偷自拍无码中文| 午夜福利特级| 一级片免费网址| 日曰摸日日碰夜夜爽歪歪| 亚洲中文字幕不卡无码| 99RE8这里有精品热视频|