動(dòng)態(tài)網(wǎng)站制作_第1頁(yè)
動(dòng)態(tài)網(wǎng)站制作_第2頁(yè)
動(dòng)態(tài)網(wǎng)站制作_第3頁(yè)
動(dòng)態(tài)網(wǎng)站制作_第4頁(yè)
動(dòng)態(tài)網(wǎng)站制作_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

引言近些年技術(shù)的不斷革新從而將人們帶到了信息化的進(jìn)程之中,很多企業(yè)為了讓自己的形象樹(shù)立起來(lái)因此也創(chuàng)建了企業(yè)的網(wǎng)站,希望能夠起到展示的作用。企業(yè)采用構(gòu)建網(wǎng)站的方式能夠?qū)⒆陨淼拿婷卜浅M昝赖某尸F(xiàn)出來(lái),從而達(dá)到提升企業(yè)知名度的作用。隨著用戶(hù)對(duì)于網(wǎng)站功能的要求不斷提高,使得網(wǎng)站制作面臨新的挑戰(zhàn),為了提高網(wǎng)站建設(shè)效率,需要對(duì)網(wǎng)站制作的方法進(jìn)行優(yōu)化與創(chuàng)新,從而對(duì)企業(yè)的發(fā)展起到一定的推動(dòng)作用。在90世界中期的時(shí)候,互聯(lián)網(wǎng)技術(shù)的發(fā)展就已經(jīng)超出了人們的想象,其具備很多的優(yōu)勢(shì),互聯(lián)網(wǎng)基礎(chǔ)可以把之前較為分散化的資源集合在一起實(shí)現(xiàn)資源的協(xié)作以及共享,同時(shí)還可以根據(jù)自己的喜好篩選出自己想要搜集的信息。截止到現(xiàn)在,在互聯(lián)網(wǎng)上的網(wǎng)站已經(jīng)多如牛毛,如果只是使用之前靜態(tài)網(wǎng)站那么會(huì)落后于這個(gè)時(shí)代的發(fā)展,現(xiàn)在市面上的動(dòng)態(tài)網(wǎng)站已經(jīng)具備了自身強(qiáng)大的優(yōu)勢(shì),因此也逐漸的將靜態(tài)網(wǎng)站取代。通常來(lái)講靜態(tài)網(wǎng)站都是通過(guò)幾個(gè)靜態(tài)網(wǎng)頁(yè)組合而成的,一般所采用的都是超鏈接的形式,任何一個(gè)網(wǎng)頁(yè)都具有自己特有的htm以及htm文件,并且內(nèi)容上也是固定的,不管用戶(hù)會(huì)不會(huì)對(duì)該網(wǎng)站進(jìn)行訪問(wèn),其內(nèi)容都會(huì)在網(wǎng)站服務(wù)器上進(jìn)行存儲(chǔ)。靜態(tài)網(wǎng)站內(nèi)部是不存在數(shù)據(jù)庫(kù)技術(shù)的,由此可以看出,不論是在網(wǎng)站的維護(hù)或者是制作方面所花費(fèi)的精力都是浩大的。假如要在網(wǎng)站上發(fā)布大量的信息那么此時(shí)采用靜態(tài)網(wǎng)頁(yè)就不是最合適的選擇,不僅如此,靜態(tài)網(wǎng)頁(yè)交互性方面的功能比較差,因此存在巨大的局限性。很多人可能認(rèn)為所謂的動(dòng)態(tài)網(wǎng)站主要就是內(nèi)部涵蓋動(dòng)態(tài)圖片以及動(dòng)畫(huà)的網(wǎng)頁(yè),其實(shí)這個(gè)理解并不正確。動(dòng)態(tài)網(wǎng)頁(yè)實(shí)質(zhì)上是能夠參照用戶(hù)的意向以及要求對(duì)網(wǎng)頁(yè)進(jìn)行改動(dòng),這也是時(shí)代發(fā)展的需要。不僅如此動(dòng)態(tài)網(wǎng)站主要采用的技術(shù)是數(shù)據(jù)庫(kù)技術(shù),因此在更新HTML文件的時(shí)候可以借助手動(dòng)的方式,由此就能夠?qū)⒐ぷ餍侍嵘,F(xiàn)在網(wǎng)站的設(shè)計(jì)都使用到了動(dòng)態(tài)網(wǎng)站,即將數(shù)據(jù)庫(kù)的內(nèi)容以網(wǎng)頁(yè)的形式展開(kāi),這樣就網(wǎng)頁(yè)中的數(shù)據(jù)可以實(shí)現(xiàn)動(dòng)態(tài)管理,而不是簡(jiǎn)單的展示,而且也比較容易操作,讓操作人員容易上手,方便了對(duì)信息管理。最近的這些年里,巨大部分網(wǎng)站的建設(shè)在技術(shù)上都是借助動(dòng)態(tài)網(wǎng)站技術(shù),一些比較小型的企業(yè)網(wǎng)站(一般不超過(guò)幾十個(gè)網(wǎng)頁(yè))都是利用動(dòng)態(tài)網(wǎng)站的形式,主要原因是當(dāng)前動(dòng)態(tài)網(wǎng)站技術(shù)朝著多元化方向發(fā)展,對(duì)于核心功能,比如用戶(hù)注冊(cè)、信息發(fā)布等功能都朝著模塊化方向發(fā)展,節(jié)省了諸多開(kāi)發(fā)成本。當(dāng)前諸多企業(yè)網(wǎng)站中所包含的功能,不單單包含產(chǎn)品介紹這些靜態(tài)信息,還包含了信息查詢(xún)、在線調(diào)查、購(gòu)物車(chē)等,單一的靜態(tài)網(wǎng)頁(yè)無(wú)法滿(mǎn)足社會(huì)公眾需求,基于網(wǎng)站推廣的角度來(lái)看,通常是動(dòng)靜結(jié)合的方式。對(duì)于一些比較關(guān)鍵的信息需要應(yīng)用靜態(tài)網(wǎng)頁(yè),對(duì)于多功能營(yíng)銷(xiāo)則需要通過(guò)動(dòng)態(tài)網(wǎng)頁(yè)完成。利用動(dòng)態(tài)與靜態(tài)相結(jié)合的方式,是當(dāng)前企業(yè)構(gòu)建網(wǎng)站的主要思想與方法。動(dòng)態(tài)網(wǎng)站的制作由最初的單一化逐漸轉(zhuǎn)變成多元化,尤其是隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,電子商務(wù)模式的擴(kuò)增,使得諸多用戶(hù)對(duì)于當(dāng)下動(dòng)態(tài)網(wǎng)站的功能提出了新的要求,基于此使動(dòng)態(tài)網(wǎng)頁(yè)制作面臨了諸多困難。網(wǎng)絡(luò)的飛速發(fā)展,使得電子商務(wù)得到了長(zhǎng)足發(fā)展,網(wǎng)絡(luò)購(gòu)物已經(jīng)成為了當(dāng)下時(shí)代發(fā)展的主流,如在當(dāng)下應(yīng)用最為普遍的網(wǎng)絡(luò)購(gòu)物軟件淘寶、聚美、唯品會(huì)、蘑菇街、天貓等,這都需要基于動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)來(lái)滿(mǎn)足消費(fèi)者的實(shí)際需要。在很多電商網(wǎng)站中都增加了視頻購(gòu)物和導(dǎo)購(gòu)服務(wù)等功能。視頻購(gòu)物就是把所要賣(mài)出的產(chǎn)品拍攝成視頻,并且把產(chǎn)品的外形和功能借助真實(shí)畫(huà)面展現(xiàn)在大眾群體面前,從而讓客戶(hù)能夠以最快的時(shí)間了解該產(chǎn)品的性能和規(guī)格。在動(dòng)態(tài)網(wǎng)頁(yè)之中還有導(dǎo)購(gòu)服務(wù),該服務(wù)在實(shí)現(xiàn)買(mǎi)賣(mài)過(guò)程的基礎(chǔ)上還可以為用戶(hù)提供高質(zhì)量的服務(wù),但是這些服務(wù)的前提是新興技術(shù)支持,如果動(dòng)態(tài)網(wǎng)頁(yè)所展現(xiàn)出的頁(yè)面以及視頻出現(xiàn)卡頓的情況,那么就會(huì)影響到客戶(hù)的體驗(yàn)。針對(duì)于現(xiàn)在電子商務(wù)模式而言,最為主流的趨勢(shì)就是EDS商務(wù)模式,為了能夠?qū)⒏鼮楸憬莸闹Ц妒侄翁砑拥骄W(wǎng)頁(yè)之中此時(shí)會(huì)導(dǎo)致制作網(wǎng)頁(yè)的成本以及難度提升[1]。1.開(kāi)發(fā)工具及編程環(huán)境1.1.開(kāi)發(fā)工具在系統(tǒng)開(kāi)發(fā)的過(guò)程中,所使用的環(huán)境為Windows系統(tǒng),所使用到的開(kāi)發(fā)工具主要使用了Vscode、IDEA、MySQL、Git。使用Vscode完成了網(wǎng)站前端頁(yè)面的設(shè)計(jì)工作,現(xiàn)在前端設(shè)計(jì)中Vscode因?yàn)槠浒惭b包比其他軟件都要笑,而且啟動(dòng)速度快,具有許多優(yōu)秀的插件,廣受開(kāi)發(fā)人員的喜歡,所以在網(wǎng)站設(shè)計(jì)的過(guò)程中前端所使用的開(kāi)發(fā)工具為Vscode。使用IDEA工具主要負(fù)責(zé)后臺(tái)開(kāi)發(fā),IDEA相比較其他后臺(tái)開(kāi)發(fā)工具而言,具有比較多的優(yōu)勢(shì)。(1)方便開(kāi)發(fā)人員對(duì)自己所寫(xiě)的代碼進(jìn)行調(diào)試;(2)代碼自動(dòng)補(bǔ)充功能,IDEA會(huì)根據(jù)開(kāi)發(fā)人員所編寫(xiě)的部分代碼進(jìn)行提醒;(3)在IDEA軟件中集成了許多比較好的插件。(4)IDEA還可以對(duì)開(kāi)發(fā)人員所編寫(xiě)的代碼進(jìn)行編寫(xiě)操作,這樣大大提高了開(kāi)發(fā)的效率。在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),所使用到數(shù)據(jù)庫(kù)管理軟件是MySQL,這個(gè)軟件相比較Oracle、SQLServer比較而言,其所占空間小,并且運(yùn)行速度快,而且MySQL數(shù)據(jù)庫(kù)管理軟件是開(kāi)源的,這樣大大節(jié)省了開(kāi)發(fā)成本,不僅如此,MySQL數(shù)據(jù)庫(kù)還可以在多個(gè)操作系統(tǒng)中完成,穩(wěn)定性高,正是因?yàn)樯鲜鰞?yōu)點(diǎn),所以在本次網(wǎng)站開(kāi)發(fā)中使用的MySQL對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理軟件。對(duì)于項(xiàng)目的版本控制,我么使用的管理工具是Git,Git是可以從服務(wù)器克隆下完整的項(xiàng)目,而且也支持將本地的項(xiàng)目上傳到服務(wù)器中,這樣方便了保存各個(gè)項(xiàng)目版本,而且較好操作。1.2.編程環(huán)境在本次網(wǎng)站設(shè)計(jì)的過(guò)程中,是在Windows環(huán)境下進(jìn)行開(kāi)發(fā)的,所選擇的服務(wù)器是Tomcat,之所以選擇使用Tomcat主要是因?yàn)門(mén)omcat是體積比較小,而且操作起來(lái)比較簡(jiǎn)單,不僅如此,如果所開(kāi)發(fā)的系統(tǒng)或者網(wǎng)站訪問(wèn)量比較小,數(shù)據(jù)量也不是很大,那么Tomcat是一個(gè)非常不錯(cuò)的選擇[2]。而且Tomcat是一款開(kāi)源的軟件,并不需要購(gòu)買(mǎi)就可以使用,所以在開(kāi)發(fā)本網(wǎng)站時(shí)所選擇的服務(wù)器為T(mén)omcat。2.動(dòng)態(tài)網(wǎng)站的工作原理2.1.WEB工作原理關(guān)于動(dòng)態(tài)網(wǎng)頁(yè)的執(zhí)行原理。首先是需要借助瀏覽器將請(qǐng)求發(fā)送到網(wǎng)站服務(wù)器上,同時(shí)將某個(gè)動(dòng)態(tài)網(wǎng)頁(yè)打開(kāi);當(dāng)該請(qǐng)求信號(hào)被服務(wù)其接受的時(shí)候,此時(shí)就能夠?qū)⒕W(wǎng)頁(yè)傳送到應(yīng)用程序服務(wù)器。該服務(wù)器想驅(qū)動(dòng)程序傳輸查詢(xún)應(yīng)用程序指令。此時(shí)驅(qū)動(dòng)程序主要是針對(duì)數(shù)據(jù)庫(kù)內(nèi)的信息進(jìn)行查詢(xún),同時(shí)將查詢(xún)到的結(jié)果記錄下來(lái)隨后將這些結(jié)果統(tǒng)一傳遞給驅(qū)動(dòng)程序,隨后驅(qū)動(dòng)程序會(huì)將這些結(jié)果在向程序服務(wù)器傳遞。最終,動(dòng)態(tài)網(wǎng)頁(yè)會(huì)轉(zhuǎn)變成靜態(tài)網(wǎng)頁(yè),隨后瀏覽器會(huì)接收到服務(wù)器所傳遞額靜態(tài)網(wǎng)頁(yè),而瀏覽器也會(huì)將HTML標(biāo)簽進(jìn)行解讀以及轉(zhuǎn)換,同時(shí)把得到的結(jié)果呈現(xiàn)在網(wǎng)頁(yè)上。WEB工作方式是以服務(wù)器以及客戶(hù)機(jī)為基礎(chǔ)運(yùn)行。多數(shù)量的服務(wù)器都能夠由相同的客戶(hù)機(jī)來(lái)發(fā)送請(qǐng)求,同時(shí)不同的客戶(hù)機(jī)也能夠獲得相同服務(wù)器的服務(wù)[3,4]。具體可以參照?qǐng)D2.1:客戶(hù)機(jī)服務(wù)器客戶(hù)機(jī)服務(wù)器協(xié)議圖2.1服務(wù)器以及客戶(hù)機(jī)的關(guān)系在以上的結(jié)構(gòu)里面,在這個(gè)結(jié)構(gòu)中,WEB服務(wù)器軟件就能夠承擔(dān)起服務(wù)器的角色,而其中的客戶(hù)機(jī)程序主要是由WEB瀏覽器來(lái)承擔(dān),當(dāng)WEB瀏覽器傳遞出去的請(qǐng)求信息被WEB服務(wù)器接收的時(shí)候,此時(shí)所有的數(shù)據(jù)會(huì)同時(shí)傳輸至WEB瀏覽器之中,而瀏覽器將收到的資料以及數(shù)據(jù)也會(huì)將其顯示在屏幕上[5]。從本質(zhì)上來(lái)講,該過(guò)程就是請(qǐng)求一應(yīng)答的表現(xiàn),并且在本次的過(guò)程里面需要按照以下步驟來(lái)運(yùn)行:(1)當(dāng)WEB瀏覽器客戶(hù)機(jī)程序已經(jīng)正常在計(jì)算上上面運(yùn)行的時(shí)候,比如說(shuō)Netscape。(2)借助網(wǎng)絡(luò)能夠同Internet創(chuàng)建關(guān)聯(lián)性。(3)向Internet里面的服務(wù)器提出頁(yè)面請(qǐng)求。此時(shí)瀏覽器會(huì)針對(duì)于該請(qǐng)求發(fā)送相應(yīng)的信息,其中信息中涵蓋了傳輸協(xié)議的URL地址:比如說(shuō):http://cdqf.xicp.net。(4)當(dāng)發(fā)出的請(qǐng)求被服務(wù)器接收到的時(shí)候,此時(shí)能夠?qū)TM進(jìn)行查找。(5)服務(wù)器會(huì)根據(jù)請(qǐng)求將頁(yè)面?zhèn)鬏數(shù)娇蛻?hù)機(jī)上。(6)當(dāng)服務(wù)器所傳遞出的文件被瀏覽器所接收的時(shí)候,此時(shí)會(huì)在屏幕上展現(xiàn)出對(duì)他的解釋。接下來(lái),我們會(huì)對(duì)于解釋的工作進(jìn)行闡述。瀏覽器以及WEB服務(wù)器的主要功能通過(guò)對(duì)WEB服務(wù)器進(jìn)行了解發(fā)現(xiàn),其主要的功能涵蓋了以下幾個(gè)方面:(1)接收請(qǐng)求。(2)針對(duì)于接到的請(qǐng)求進(jìn)行相關(guān)合法性的核查。(3)參照接收到的請(qǐng)求進(jìn)行數(shù)據(jù)的制作工作,其中涵蓋了程序以及Java腳本,同時(shí)還包含了程序以及CGI腳本等,并且對(duì)數(shù)據(jù)可以進(jìn)行后期以及前期的處理工作。(4)將所收到的信息傳輸給發(fā)出請(qǐng)求的客戶(hù)機(jī)。當(dāng)客戶(hù)瀏覽器接收到WEB服務(wù)器的所發(fā)出的HTML文件時(shí),此時(shí)服務(wù)器針對(duì)于瀏覽器所給出的請(qǐng)求信息在傳遞上是具有層次性,首先是關(guān)于純文本信息的傳輸工作,其次是針對(duì)于多媒體信息的傳輸工作。針對(duì)于WEB瀏覽器來(lái)講,其主要的功能涵蓋了:(1)制定出請(qǐng)求(該操作一般都是在對(duì)具體鏈接點(diǎn)進(jìn)行點(diǎn)擊的時(shí)候開(kāi)啟)。(2)借助網(wǎng)絡(luò)傳輸將請(qǐng)求送到服務(wù)器。(3)將接收到的HTML文進(jìn)行解釋?zhuān)瑫r(shí)在屏幕上顯示出本次的解釋結(jié)果。為了便于大家理解因此進(jìn)行通俗的解釋?zhuān)^的協(xié)議主要指的就是在計(jì)算機(jī)通訊過(guò)程中應(yīng)該遵守的準(zhǔn)則。將關(guān)注點(diǎn)放到WEB上,在服務(wù)器以及客戶(hù)機(jī)進(jìn)行通訊內(nèi)容的時(shí)候參照通訊內(nèi)容的不同會(huì)采取不一樣的協(xié)議。通常所采用的協(xié)議涵蓋了FTP和MAILTO以及NEWS等。2.2.動(dòng)態(tài)頁(yè)面工作原理在客戶(hù)端上面的動(dòng)態(tài)頁(yè)面:當(dāng)處于客戶(hù)端模型里面,在瀏覽器里面的模塊能夠?qū)⑺械膭?dòng)態(tài)頁(yè)面的創(chuàng)造工作完成。此時(shí)瀏覽器會(huì)受到HTML代碼??墒窃趫?zhí)行的過(guò)程之中最為碰到的問(wèn)題就是HTML代碼以及指令混合在一起。如果用戶(hù)對(duì)于WEB頁(yè)面發(fā)出請(qǐng)求的時(shí)候,此時(shí)瀏覽器會(huì)參照這些指令產(chǎn)生利純HTML。換句話來(lái)講,頁(yè)面主要是參照請(qǐng)求進(jìn)行動(dòng)態(tài)產(chǎn)生的,以上所闡述的過(guò)程過(guò)涵蓋的具體流程是:(1)將一套指令完整的編寫(xiě)出來(lái),這個(gè)指令是為了能夠創(chuàng)建HTML,除此之外在.html文件之中保存之前所創(chuàng)建的指令。編寫(xiě)指令的方式有很多,其可以采用其他的語(yǔ)言,但是這些語(yǔ)言除了能夠在.html文件中保存,同時(shí)也可以將其放置到單純的文件里面進(jìn)行存儲(chǔ)。(2)用戶(hù)打開(kāi)瀏覽器并且在其中將頁(yè)面地址進(jìn)行輸入,此時(shí)WEB服務(wù)器就能夠接收到來(lái)自于瀏覽器的請(qǐng)求。(3)關(guān)于確定WEB服務(wù)器里面.html頁(yè)面的所在位置,可能還需要涵蓋指令的其他文件的位置。(4)此時(shí)瀏覽器能夠接收到來(lái)自于WEB服務(wù)器所傳遞的指令以及HTML。(5)在瀏覽器之中的模塊會(huì)針對(duì)于指令進(jìn)行相應(yīng)的處理,同時(shí)找到.html頁(yè)面所對(duì)應(yīng)的指令指令,并且將這些指令轉(zhuǎn)化為HTML形式將其返回。(6)當(dāng)瀏覽器對(duì)HTML進(jìn)行處理的時(shí)候,會(huì)將該頁(yè)面顯示出來(lái)。客戶(hù)端腳本代碼本身具有一些缺陷,其中主要是安全性能不強(qiáng),并且下載時(shí)間較長(zhǎng),因此本次的項(xiàng)目中并沒(méi)有使用客戶(hù)端動(dòng)態(tài)頁(yè)面技術(shù)。在本次中所采用觀的服務(wù)器端的動(dòng)態(tài)頁(yè)面主要是:借助服務(wù)器端制作出的模型,HTMLWEB服務(wù)器會(huì)接收到另外的指令以及源代碼。以上所闡述的過(guò)程具體的步驟是:(1)編寫(xiě)有關(guān)于創(chuàng)建HTML的指令,同時(shí)把這些指令在相應(yīng)的文件中進(jìn)行保存。(2)當(dāng)用戶(hù)將請(qǐng)求頁(yè)面地址的操作輸入到瀏覽器里面的時(shí)候,此時(shí)WEB服務(wù)器就會(huì)接收到來(lái)自于瀏覽器的請(qǐng)求。(3)WEB服務(wù)器能夠精準(zhǔn)的查詢(xún)出有關(guān)于指令文件的方位。(4)WEB服務(wù)器可以參照所接收到的指令來(lái)建立HTML流。(5)瀏覽器接收到來(lái)自于WEB服務(wù)器傳輸?shù)腍TML流。(6)此時(shí)瀏覽器針對(duì)于接收到的HTML進(jìn)行處理,并且將其在WEB頁(yè)面上顯示。相較于客戶(hù)端模型有著本質(zhì)的區(qū)別是在于處理指令的位置。當(dāng)瀏覽器重新受到頁(yè)面以前,一切的處理工作都會(huì)在服務(wù)器上實(shí)現(xiàn)。采用這種方式能夠保證頁(yè)面被正餐的顯示出來(lái)。3相關(guān)技術(shù)簡(jiǎn)要介紹3.1Java介紹在這幾系統(tǒng)給的時(shí)候,我們后臺(tái)使用的是Java語(yǔ)言,Java是Sun公司在1995年5月推出的一種面向?qū)ο蟮挠?jì)算機(jī)語(yǔ)言,其中參與到Java研發(fā)的人員又JamesGosling以及和他的同事們,在本系統(tǒng)中之所以使用Java語(yǔ)言主要是因?yàn)镴ava的如下幾個(gè)特性:(1)Java語(yǔ)言是一種比較簡(jiǎn)單的語(yǔ)言,Java語(yǔ)言是比較好用的一種語(yǔ)言,并且Java是面向?qū)ο蟮囊环N計(jì)算機(jī)語(yǔ)言,也使得開(kāi)發(fā)人員容易理解,在Java中也不再使用指針,這一類(lèi)令人頭疼的內(nèi)容,提供了許多自動(dòng)的廢料收集,這樣也就使得程序員不再對(duì)內(nèi)存管理而頭疼。(2)Java語(yǔ)言是面向?qū)ο蟮?,在Java中提供類(lèi)、接口等特性,這樣可以更好讓人們理解這門(mén)語(yǔ)言,與實(shí)際生活更加貼切,并且為了簡(jiǎn)單,Java語(yǔ)言中只支持了類(lèi)與類(lèi)之間的單繼承,而接口與接口之間是可以多繼承的,不僅如此,Java語(yǔ)言還可以支持動(dòng)態(tài)綁定,可見(jiàn)Java是一門(mén)純面向?qū)ο蟮恼Z(yǔ)言。(3)Java具有很好的分布式特性,因?yàn)楝F(xiàn)在互聯(lián)網(wǎng)技術(shù)的發(fā)展,軟件需要連接到網(wǎng)絡(luò),而Java的接口中提供了javanet接口,而且還提供了許多與網(wǎng)絡(luò)編程的接口,比如:URL、URLConnection、Socket、ServerSocket等,Java語(yǔ)言的RMI也是開(kāi)發(fā)分布式應(yīng)用的一個(gè)重要方法。(4)Java語(yǔ)言是動(dòng)態(tài)性的,通過(guò)使用Java語(yǔ)言可以將在開(kāi)發(fā)過(guò)程中所需要的類(lèi)通過(guò)動(dòng)態(tài)的方式加入到運(yùn)行環(huán)境中,可以通過(guò)本地載入,也可以從網(wǎng)上載入,這樣便于軟件的升級(jí),不僅如此,在Java中還有個(gè)一個(gè)運(yùn)行時(shí)刻的表示,這樣方便開(kāi)發(fā)人員對(duì)系統(tǒng)進(jìn)行檢查[7]。3.2SpringBoot3.2.1SpringBoot簡(jiǎn)介SpringBoot是基于Spring框架發(fā)展起來(lái)的,在Spring的基礎(chǔ)上進(jìn)行了改善和優(yōu)化,SpringBoot的核心是約定優(yōu)于配置,平常開(kāi)發(fā)系統(tǒng)時(shí),都是要求開(kāi)發(fā)人員在配置與邏輯業(yè)務(wù)之間頻繁切換,而使用SprigBoot則可以不用這樣麻煩,開(kāi)發(fā)人員只需要關(guān)注與業(yè)務(wù)功能的實(shí)現(xiàn),而不需要進(jìn)行配置,這樣大大提高了開(kāi)發(fā)效率,而且也使得項(xiàng)目的開(kāi)發(fā)周期得到了相應(yīng)的縮短,節(jié)省了人力物力。使用SpringBoot可以創(chuàng)建完項(xiàng)目之后就可以直接使用,而不需要配置麻煩的XML,如果對(duì)于配置需要修改時(shí),可以對(duì)項(xiàng)目中的properties文件進(jìn)行修改,而且在創(chuàng)建項(xiàng)目時(shí),SpringBoot還提供了一些大型項(xiàng)目中常見(jiàn)的非功能性特性,比如嵌入式服務(wù)器、安全、指標(biāo),健康檢測(cè)、外部配置等[7]。SpringBoot的自動(dòng)配置是一個(gè)運(yùn)行時(shí)(更準(zhǔn)確地說(shuō),是應(yīng)用程序啟動(dòng)時(shí))的過(guò)程,考慮了眾多因素,才決定Spring配置應(yīng)該用哪個(gè),不該用哪個(gè)。該過(guò)程是Spring自動(dòng)完成的。3.2.2SpringBoot特點(diǎn)使用SpringBoot擁有如下優(yōu)點(diǎn):(1)可以減少項(xiàng)目開(kāi)發(fā)的工作量;(2)可以不需要配置麻煩的XML;(3)使用Maven或者Gradle管理Jar包,關(guān)林更加方便;(4)創(chuàng)建項(xiàng)目的時(shí)候就配置了默認(rèn)值,方便程序員開(kāi)發(fā);(5)在SpringBoot中內(nèi)嵌了Tomcat或Jetty等Servlet容器;3.2.3SpringBoot安裝從本質(zhì)上行來(lái)說(shuō),其實(shí)SpringBoot就是一些類(lèi)庫(kù)的集合,為了讓開(kāi)發(fā)人員操作簡(jiǎn)單,SpringBoot提供了命令行界面,測(cè)試人員可以通過(guò)命令行來(lái)運(yùn)行項(xiàng)目或者測(cè)試Boot應(yīng)用。在安裝SpringBoot時(shí)可以通過(guò)使用Groovy環(huán)境管理器,因?yàn)镚roovy可以對(duì)Boot的版本進(jìn)行管理。Boot以及其CLI可以通過(guò)Groovy環(huán)境管理器中所附帶的命令行g(shù)vminstallspringboot安裝。當(dāng)在OS操作系統(tǒng)上進(jìn)行操作的時(shí)候,可以使用Homebrew包管理器進(jìn)行安裝。當(dāng)需要對(duì)項(xiàng)目進(jìn)行打包時(shí),可以依賴(lài)像Maven或者Gradle系統(tǒng),為了使得依賴(lài)圖更賤簡(jiǎn)單,Boot功能進(jìn)行了模塊化處理,只需要將Start模塊導(dǎo)入,就可以實(shí)現(xiàn)將多個(gè)依賴(lài)添加到工程中。3.2.4SpringBoot連接數(shù)據(jù)庫(kù)在與Mysql數(shù)據(jù)庫(kù)進(jìn)行連接的前期,需要在工程中導(dǎo)入數(shù)據(jù)庫(kù)依賴(lài),在gradle中添加如下依賴(lài):<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.13</version>

</dependency><dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-beans</artifactId>

<version>5.1.3.RELEASE</version>

</dependency><dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.4.6</version>

</dependency><dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>2.0.0</version>

</dependency>

在將依賴(lài)導(dǎo)入完成之后,下一步需要再配置文件application.yml中配置數(shù)據(jù)庫(kù)基本信息,需要添加如下信息:spring:

datasource:

url:jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8

username:root

password:123456

driver-class-name:com.mysql.cj.jdbc.Driver通過(guò)上述操作就可以完成與數(shù)據(jù)庫(kù)的建立。然后需要添加一個(gè)新的實(shí)體類(lèi),實(shí)體類(lèi)需要與數(shù)據(jù)表中的屬性對(duì)應(yīng)起來(lái),這樣就可以完成SpringBoot與Mysql數(shù)據(jù)庫(kù)之間的連接工作。3.3Vue3.3.1Vue簡(jiǎn)介在網(wǎng)站設(shè)計(jì)的過(guò)程中,前端使用到了VUE框架,現(xiàn)在VUE框架是前端應(yīng)用最為廣泛的框架之一,也是一套構(gòu)建用戶(hù)界面的框架,是一套構(gòu)建用戶(hù)界面的漸進(jìn)式的JavaScript框架。與其他重量級(jí)框架不同的是,Vue采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)。3.3.2Vue基本思想該框架的思想是MVVM,即將每一個(gè)頁(yè)面分為了M(Model)、V(View)、VM(VMViewModel)。其中占據(jù)主要地位的是ViewModel,起到了Model和View之間調(diào)度者的作用。Model保存了一個(gè)網(wǎng)頁(yè)中的數(shù)據(jù),View刻畫(huà)了HTML頁(yè)面的結(jié)構(gòu),ViewModel則是作為調(diào)度者的角色存在,Model和View是相互獨(dú)立的,而通過(guò)使用ViewModel,就可以實(shí)現(xiàn)將View中想要保存的數(shù)據(jù)存放到Model中,如果View想要進(jìn)行渲染工作,也是需要ViewModel進(jìn)行調(diào)度。這樣方便了前端的開(kāi)發(fā)[9]。3.3.3Vue特點(diǎn)VUE比較容易上手,而且在這個(gè)框架中有許多類(lèi)庫(kù)可以直接使用,這樣也提高了開(kāi)發(fā)效率,而且在開(kāi)發(fā)過(guò)程中,也使得開(kāi)發(fā)人員減少了一些冗余的dom操作[8]。VUE的框架還可以實(shí)現(xiàn)雙向數(shù)據(jù)綁定,開(kāi)發(fā)人員在開(kāi)發(fā)項(xiàng)目的時(shí)候,只需要關(guān)注業(yè)務(wù)功能的實(shí)現(xiàn),不需要關(guān)注dom的渲染工作。3.3.4Vue結(jié)構(gòu)在Vue項(xiàng)目中,包括了許多結(jié)構(gòu)性文件,其中有如下結(jié)構(gòu)表build在這個(gè)文件中主要保存了與項(xiàng)目構(gòu)建的相關(guān)代碼config對(duì)項(xiàng)目中的目錄以及端口號(hào)進(jìn)行配置操作node_modulesnpm加載的項(xiàng)目依賴(lài)塊src在這里存放項(xiàng)目開(kāi)發(fā)的文件內(nèi)容assets保存項(xiàng)目中的一些圖片components存放的是項(xiàng)目開(kāi)發(fā)過(guò)程中所使用到的組件App.vue項(xiàng)目入口文件main.js項(xiàng)目的核心文件3.3.5Vue安裝在安裝vue時(shí),需要安裝node.js,當(dāng)node.js安裝完成之后,npm也會(huì)自動(dòng)安裝完成,可以通過(guò)如下命令查詢(xún)是否安裝完成:node-vnpm-v然后需要安裝腳手架工具vue-cli,命令如下:npminstall--globalvue-clivue項(xiàng)目初始化命令如下,若沒(méi)有安裝webpack,則先安裝webpacknpminstall-gwebpackvueinitwebpackmyVue3.3.6Vue與SpringBoot連接前端開(kāi)發(fā)好后將build構(gòu)建好的dist下static中的文件拷貝到springboot的resource的static下,index.html則直接拷貝到springboot的resource的static下。這一樣可以保持前后端完全獨(dú)立開(kāi)發(fā)代碼,項(xiàng)目代碼互不影響,借助jenkins這樣的構(gòu)建工具在構(gòu)建springboot時(shí)觸發(fā)前端構(gòu)建并編寫(xiě)自動(dòng)化腳本將前端webpack構(gòu)建好的資源拷貝到springboot下再進(jìn)行jar的打包,最后就得到了一個(gè)完全包含前后端的springboot項(xiàng)目了[10,11]。4.需求分析4.1.系統(tǒng)功能分析本網(wǎng)站是一個(gè)關(guān)于動(dòng)態(tài)網(wǎng)頁(yè)的學(xué)習(xí)網(wǎng)站,里面介紹了關(guān)于動(dòng)態(tài)網(wǎng)頁(yè)的基本知識(shí)以及相制作技巧。由于本人的能力有限,水平不高,特制作了幾個(gè)站外鏈接,以便有興趣者可以更加深入的學(xué)習(xí)。此外,本站還建立了聊天室,以便廣大愛(ài)好者可以相互交流經(jīng)驗(yàn)。同時(shí),用戶(hù)如果有什么問(wèn)題還可以通過(guò)留言板給管理員留言,管理員會(huì)根據(jù)用戶(hù)的問(wèn)題的質(zhì)量給予及時(shí)的回復(fù)或刪除??偟膩?lái)講,如果想要完成本網(wǎng)站預(yù)期的效果,那么就一定要具備必要的模塊(1)會(huì)員注冊(cè)以及登錄部分(2)留言部分(3)會(huì)談部分(4)數(shù)據(jù)庫(kù)部分動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)注冊(cè)申請(qǐng)用戶(hù)登錄聊天室在線留言用戶(hù)留言管理員登錄編輯刪除回復(fù)圖4.1系統(tǒng)體系結(jié)構(gòu)圖示4.2.各個(gè)模塊具體功能4.2.1.會(huì)員注冊(cè)與登錄模塊在動(dòng)態(tài)網(wǎng)頁(yè)之中有一個(gè)部分是非常重要的,那就是會(huì)員注冊(cè)以及登錄,當(dāng)用戶(hù)進(jìn)行注冊(cè)成功以后才能變成會(huì)員,只有成為會(huì)員以后才可以擁有相關(guān)的瀏覽以及操作權(quán)限,當(dāng)用戶(hù)將注冊(cè)的信息提交以后,系統(tǒng)需要針對(duì)于所提交的信息進(jìn)行核對(duì),如果出現(xiàn)問(wèn)題那么會(huì)對(duì)用戶(hù)進(jìn)行相應(yīng)的提示,同時(shí)所提交的信息是完全能夠修改的。成為會(huì)員以后如果想要登錄到系統(tǒng),那么需要將密碼以及賬號(hào)進(jìn)行輸入,當(dāng)成功登陸以后,此時(shí)用戶(hù)的登錄信息和記錄會(huì)統(tǒng)一的記錄到系統(tǒng)session里面,當(dāng)用戶(hù)推出系統(tǒng)時(shí)信息會(huì)在瀏覽器中去除,這樣可以更好的區(qū)分會(huì)員和登錄管理者以及瀏覽者的權(quán)限,同時(shí)對(duì)其進(jìn)行限制,加以區(qū)分。4.2.2.留言模塊用戶(hù)在瀏覽過(guò)程中遇到什么難題或者說(shuō)有什么更好的建議,可以通過(guò)留言板給管理員留言,管理員通過(guò)登陸后,可以對(duì)用戶(hù)的相關(guān)留言進(jìn)行回復(fù)、編輯或刪除。4.2.3.聊天模塊站在讀者的角度,為了能夠讓其交流更加的具有便捷性,因此本次我還增加了一個(gè)模塊那就是會(huì)談模塊。該模塊的本質(zhì)就如同虛擬社區(qū),即便身處于不同區(qū)域的人都可以在這個(gè)模塊之中進(jìn)行交流和溝通,并且針對(duì)于問(wèn)題進(jìn)行討論。聊天室主要分為兩種,簡(jiǎn)單來(lái)說(shuō)就是是否把會(huì)談的相關(guān)資料存儲(chǔ)到數(shù)據(jù)庫(kù)之中。本網(wǎng)站是不能達(dá)到存儲(chǔ)數(shù)據(jù)功能的。5.數(shù)據(jù)庫(kù)設(shè)計(jì)5.1.數(shù)據(jù)庫(kù)需求分析參照系統(tǒng)功能的設(shè)計(jì)標(biāo)準(zhǔn),同時(shí)也要考慮到功能模塊的區(qū)分,因此應(yīng)該相應(yīng)的創(chuàng)建以下以及各表格:用戶(hù)注冊(cè)統(tǒng)計(jì)表留言管理統(tǒng)計(jì)表管理員統(tǒng)計(jì)表5.2.數(shù)據(jù)表的設(shè)計(jì)在數(shù)據(jù)庫(kù)之中最為基本的邏輯模塊就是表。其主要是通過(guò)數(shù)據(jù)列構(gòu)成。針對(duì)于本次的網(wǎng)站之中所涵蓋的數(shù)據(jù)表主要有3個(gè):用戶(hù)注冊(cè)數(shù)據(jù)表:其主要是為了將所有用戶(hù)信息進(jìn)行記錄的表1用戶(hù)注冊(cè)數(shù)據(jù)表字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明ID自動(dòng)編號(hào)ID鍵值Username文本用戶(hù)名Password文本密碼Sex文本性別Age數(shù)字年齡Email文本電子郵件QQ數(shù)字QQ號(hào)碼用戶(hù)留言數(shù)據(jù)表(yonghu):其主要是將用戶(hù)的留言進(jìn)行記錄表2用戶(hù)留言數(shù)據(jù)表字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明y_id自動(dòng)編號(hào)ID鍵值y_name文本用戶(hù)名y_xingbie文本性別y_liuyan備注留言的內(nèi)容y_touxiang文本用戶(hù)的頭像y_Oicq文本Oicq號(hào)y_email文本電子郵箱y_http文本個(gè)人主頁(yè)y_time日期/時(shí)間留言時(shí)間g_huifu文本管理員回復(fù)的內(nèi)容y_ip文本用戶(hù)的IP地址管理員數(shù)據(jù)表(_guest):管理員登錄信息表3管理員數(shù)據(jù)表字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明g_name文本管理員名稱(chēng)g_password文本管理員登錄密碼6.動(dòng)態(tài)網(wǎng)站系統(tǒng)實(shí)現(xiàn)6.1.系統(tǒng)編碼原則6.1.1.編碼實(shí)現(xiàn)原則由于在動(dòng)態(tài)網(wǎng)站系統(tǒng)的開(kāi)發(fā)流程里面,針對(duì)現(xiàn)在系統(tǒng)內(nèi)的數(shù)據(jù)量還是在可控范圍之內(nèi),并且這種數(shù)據(jù)量不會(huì)在近期提升。同時(shí)現(xiàn)在單位的電腦所配置的系統(tǒng)都是以Windows系統(tǒng),現(xiàn)在管理員也對(duì)網(wǎng)站的操作比較了解。借助編寫(xiě)代碼規(guī)范的工作,能夠?qū)⒊绦蝾~的穩(wěn)定性以及可靠性提升,由此最大程度的保障程序代碼的質(zhì)量。6.1.2.代碼編寫(xiě)規(guī)范為了能夠讓提供的程序盡可能的穩(wěn)定以及可靠,此時(shí)系統(tǒng)實(shí)現(xiàn)的過(guò)程里面,需要參照一定的準(zhǔn)則來(lái)進(jìn)行程序代碼的編寫(xiě)工作。其具體的準(zhǔn)則為:當(dāng)需要行間縮進(jìn)的時(shí)候此時(shí)可以采用TABLE鍵;當(dāng)需要對(duì)變量進(jìn)行命名的時(shí)候此時(shí)可以使用大寫(xiě)首字母;當(dāng)出現(xiàn)查詢(xún)錯(cuò)誤的時(shí)候,此時(shí)一定要針對(duì)查詢(xún)的錯(cuò)誤進(jìn)行提示。6.2.系統(tǒng)實(shí)現(xiàn)6.2.1.網(wǎng)站首頁(yè)對(duì)于任何系統(tǒng)來(lái)講,最為重要的就是網(wǎng)站首頁(yè),很多網(wǎng)站的訪問(wèn)量都是由它決定的。一個(gè)網(wǎng)站的首頁(yè)之中所涵蓋的元素有很多,但是不管涵蓋什么樣的元素一定要將網(wǎng)站的風(fēng)格以及功能簡(jiǎn)要的體現(xiàn)出來(lái)。本網(wǎng)站在設(shè)計(jì)的時(shí)候主要采用的色調(diào)非常柔和,并且簡(jiǎn)明扼要。第一個(gè)板塊就是BANNER,隨后是導(dǎo)航欄,之后就來(lái)到了網(wǎng)站公告和會(huì)員登錄等模塊。針對(duì)于發(fā)布的所有信息都是有相應(yīng)的超級(jí)鏈接,如果想具體觀看那么只要進(jìn)行點(diǎn)擊就可以。在信息標(biāo)題上展現(xiàn)出來(lái)內(nèi)容都是采用近期靠前的原則進(jìn)行排列。頁(yè)面的具體布局可以參照?qǐng)D6.2.1:圖.2.用戶(hù)注冊(cè)頁(yè)該頁(yè)面主要用于會(huì)員第一次進(jìn)入網(wǎng)站時(shí)輸入帳號(hào)。注冊(cè)會(huì)員時(shí)需要提供如下信息:新會(huì)員帳號(hào)、密語(yǔ)指令以及性別等。主要完成過(guò)程:1打開(kāi)頁(yè)面代碼編寫(xiě)區(qū)域。2按照規(guī)劃的內(nèi)容在頁(yè)面中添加標(biāo)簽,設(shè)計(jì)出網(wǎng)頁(yè)3設(shè)計(jì)完成之后就實(shí)現(xiàn)與后臺(tái)數(shù)據(jù)庫(kù)的鏈接工作。如圖6.2.2所示:圖.3.聊天室頁(yè)面聊天室的頁(yè)面只要是由indexa.vue,chat.vue,input.vue,main.vue四個(gè)頁(yè)面組成。如下所示:圖6.2.3圖6.2.3主要完成進(jìn)度:1聊天內(nèi)容展示頁(yè)面:本次在這邊就采用了Application這個(gè)對(duì)象,假如用戶(hù)要發(fā)送談話內(nèi)容并且內(nèi)容不能夠?yàn)榭盏臅r(shí)候,那么應(yīng)該先鎖定Application對(duì)象,使其可寫(xiě),同時(shí)在Application對(duì)象里面保存談話內(nèi)容,之后再將Application對(duì)象解鎖,取消其可寫(xiě)性,再后再輸出顯示。2聊天內(nèi)容發(fā)送頁(yè):在這一頁(yè)中只需加入一個(gè)獲取登陸著用戶(hù)名的Java代碼。<%Session(“name”)%>。3聊天室主頁(yè):首先用Vscode軟件打開(kāi)對(duì)應(yīng)頁(yè)面,然后寫(xiě)入對(duì)應(yīng)的VUE代碼,用Session(“name”)判斷是否為合法會(huì)員,在各框架中引用個(gè)分頁(yè)面。6.2.4.留言板頁(yè)面會(huì)員通過(guò)注冊(cè)成會(huì)員后就可以在線留言發(fā)表評(píng)論和意見(jiàn),詳見(jiàn)圖6.2.4圖.5.后臺(tái)管理頁(yè)面因此估計(jì)到本次網(wǎng)站的使用對(duì)象,僅需要使得管理員能夠參與到管理工作就可以,因

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論