Javaweb畢業(yè)設(shè)計(jì)快速開(kāi)發(fā)指南(一)
時(shí)間:2023-05-24 07:12:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-05-24 07:12:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
Javaweb畢業(yè)設(shè)計(jì)快速開(kāi)發(fā)指南(一):在開(kāi)篇之前,我們先聊一個(gè)問(wèn)題。一個(gè)合格的某某管理系統(tǒng),應(yīng)該有哪些內(nèi)容呢?
很多同學(xué)在這一步就開(kāi)始出問(wèn)題了。拿到了題目,一般是基于Java的會(huì)員管理系統(tǒng)、基于SSM的員工管理系統(tǒng)、基于Springboot的等等。那么這個(gè)系統(tǒng)究竟該包含哪些內(nèi)容,初始的需求部分應(yīng)該怎么規(guī)劃。想的越多,就越發(fā)惆悵。
講到這里,就涉及到一個(gè)非常嚴(yán)重的問(wèn)題。你為什么要做這一份畢業(yè)設(shè)計(jì)?是為了總結(jié)這幾年的學(xué)習(xí)成果,或者是準(zhǔn)備優(yōu)秀論文,還是為了能夠畢業(yè)。
如果你是前兩種,希望你能夠自覺(jué)點(diǎn)擊右上角的x按鈕,因?yàn)槲也⒉粶?zhǔn)備講一些很有技巧,能夠給你的論文加分的內(nèi)容。我只是想給迷途的孩子,灌上一碗香甜可口的孟婆湯,忘記所有的不開(kāi)心,在這個(gè)炎熱的夏季,還能愉快的吃上瓜。
如何設(shè)定需求
需求地設(shè)定其實(shí)非常簡(jiǎn)單,大部分的無(wú)從下手多半是因?yàn)樗伎嫉靥?。?wèn)題是你真的能夠?qū)崿F(xiàn)嗎?實(shí)際上是可以的,但是過(guò)程太過(guò)于痛苦,這不是我們約德?tīng)柸说南蛲?br>
拿會(huì)員管理系統(tǒng)舉例,我們可以非??焖俚媒o他設(shè)定需求。首先需要管理會(huì)員,所以我們需要有對(duì)會(huì)員信息的增刪改查操作。然后他是后臺(tái)管理系統(tǒng),所以我們需要有一個(gè)登錄操作。
抱歉我只想到這兩條需求怎么辦?請(qǐng)開(kāi)始頭腦風(fēng)暴,我們還有各種各樣的增刪改查等著你去完成。
需求太過(guò)于簡(jiǎn)單了,沒(méi)有辦法通過(guò)審核?
實(shí)際上這種事情因人而異,不同的老師有不同的喜好。(作業(yè)本里塞購(gòu)物卡行不通,請(qǐng)換個(gè)路數(shù))
不夠就加嘛,能有多大問(wèn)題。多加兩個(gè)增刪改查?或者弄個(gè)圖表展示信息?
辦法總是比困難多的。
如何構(gòu)建項(xiàng)目結(jié)構(gòu)
使用java去寫(xiě)一個(gè)b/s結(jié)構(gòu)的系統(tǒng),一般都會(huì)用到各種各樣的框架。其實(shí)在畢設(shè)的題目中一般會(huì)限定框架,比如基于SSM或者SSH什么的。
我想要說(shuō)的不是這個(gè),很多同學(xué)對(duì)于如何去寫(xiě)一個(gè)b/s系統(tǒng)這個(gè)概念就很模糊,更別提使用框架了。
我試圖用最簡(jiǎn)單的說(shuō)法來(lái)解釋這個(gè)問(wèn)題。首先我們通過(guò)瀏覽器去訪問(wèn)我們的網(wǎng)站,進(jìn)入網(wǎng)站首頁(yè)會(huì)顯示一個(gè)頁(yè)面,所以在我們的代碼中會(huì)有這個(gè)頁(yè)面的信息。我們一般通過(guò)jsp或者h(yuǎn)tml去儲(chǔ)存這個(gè)頁(yè)面的結(jié)構(gòu)。
其次我拿登錄功能舉例,在我們進(jìn)行登錄操作的時(shí)候,在輸入框中填寫(xiě)用戶(hù)名和密碼信息之后,點(diǎn)擊登錄按鈕,這個(gè)時(shí)候他是會(huì)拿我們輸入的數(shù)據(jù)和數(shù)據(jù)庫(kù)中的數(shù)據(jù)做比較,如果數(shù)據(jù)庫(kù)中存在這個(gè)數(shù)據(jù),那么則返回登錄成功,否則返回登錄失敗。
重點(diǎn)在于點(diǎn)擊登錄按鈕之后,他發(fā)生了什么?
他會(huì)把這個(gè)請(qǐng)求發(fā)送到后臺(tái),由對(duì)應(yīng)的控制層處理這個(gè)請(qǐng)求。他首先會(huì)從請(qǐng)求中取出我們剛剛填寫(xiě)的用戶(hù)名和密碼參數(shù),然后進(jìn)行數(shù)據(jù)庫(kù)的查詢(xún)操作,去比較數(shù)據(jù)庫(kù)中是否存在這個(gè)用戶(hù)。從而返回登錄結(jié)果。
如果你使用jsp+servlet去實(shí)現(xiàn)你的項(xiàng)目,一般由servlet去處理這個(gè)過(guò)程。ssm和springboot則由controller去處理,在ssh項(xiàng)目中,它叫做action。
這里涉及到另外一個(gè)問(wèn)題,如何進(jìn)行數(shù)據(jù)庫(kù)的操作。
有一些同學(xué)問(wèn)我,數(shù)據(jù)庫(kù)和eclipse或者瀏覽器和eclipse,他們不是同一個(gè)軟件,他們之間是如何進(jìn)行連接的呢?
你可以把他們之間的連接想象為一個(gè)管道,在這個(gè)管道連接上之后,完成一些數(shù)據(jù)的交換。那么如何去構(gòu)建這樣子的管道呢?首先我們要知道對(duì)應(yīng)的數(shù)據(jù)庫(kù)在什么位置,通常我們的數(shù)據(jù)庫(kù)在本地的電腦上,他監(jiān)聽(tīng)3306端口,那么我們就可以通過(guò)找到本機(jī)3306端口去找到我們的數(shù)據(jù)庫(kù),在連接數(shù)據(jù)庫(kù)的過(guò)程中,我們還需要提供數(shù)據(jù)庫(kù)的用戶(hù)名和密碼。這樣子我們就可以連接上對(duì)應(yīng)的數(shù)據(jù)庫(kù)。
當(dāng)然數(shù)據(jù)庫(kù)的連接是通過(guò)官方提供的驅(qū)動(dòng),而瀏覽器連接服務(wù)器是通過(guò)http協(xié)議,這兩個(gè)是不同的,大概清楚就好。
在后臺(tái)的代碼中,我們通常把封裝進(jìn)行數(shù)據(jù)庫(kù)操作的包稱(chēng)之為持久層,意思是數(shù)據(jù)的持久化。
實(shí)際上還有一個(gè)業(yè)務(wù)層,主要是用來(lái)實(shí)現(xiàn)程序里的邏輯部分。一般叫做service。
所以我們就有了一個(gè)最簡(jiǎn)單的后臺(tái)目錄結(jié)構(gòu)。
--- src------- controller //控制層,處理web請(qǐng)求------- service //實(shí)現(xiàn)業(yè)務(wù)邏輯------- dao //處理數(shù)據(jù)庫(kù)操作------- model //實(shí)體類(lèi),與數(shù)據(jù)庫(kù)表基本一致,方便數(shù)據(jù)操作
今天就講到這里,我們下次繼續(xù)!
關(guān)鍵詞:發(fā)指,畢業(yè),設(shè)計(jì)