今天是劉小愛自學(xué)Java的第74天。
感謝你的觀看绵疲,謝謝你哲鸳。
話不多說,開始今天的學(xué)習(xí):
Java又常被稱之為后臺(tái)開發(fā)最岗。
什么叫后臺(tái)呢帕胆?除了后臺(tái)還有什么前臺(tái)、前端后端……
這些概念一大堆般渡,還容易弄混懒豹。
以一個(gè)三層架構(gòu)的知識(shí)點(diǎn)來引出我對于后臺(tái)的理解。
理解肯定是很淺薄甚至是有問題的驯用,但只能說以我當(dāng)前的知識(shí)水平脸秽,這樣去理解更便于記憶。
隨著今后的學(xué)習(xí)過程中不斷地將概念完善蝴乔。
一记餐、三層架構(gòu)
Java后臺(tái)就相當(dāng)于一個(gè)Java服務(wù)器,它的作用在于將數(shù)據(jù)庫和前端(或者說瀏覽器或者說網(wǎng)頁)連接起來了薇正。
如何連接起來的片酝?也就是三層架構(gòu)囚衔,畫圖說明:
①Web層
也叫展示層,是和前端打交道的雕沿。
至于前端到底指的什么练湿,目前還不是太清楚。
我所理解的前端就是和瀏覽器掛鉤的审轮,我此時(shí)也只能這么理解肥哎,至于什么http,css我也暫時(shí)還不懂疾渣。
不過馬上也要進(jìn)入前端的學(xué)習(xí)了篡诽。
②Service層
又叫業(yè)務(wù)層,用來處理具體的業(yè)務(wù)邏輯榴捡。
從數(shù)據(jù)庫中查到數(shù)據(jù)杈女,但有時(shí)需要對其做一定的處理。
這些業(yè)務(wù)邏輯的編寫就在業(yè)務(wù)層中薄疚。
③Dao層
又叫數(shù)據(jù)持久層碧信,全稱就是Data access object,數(shù)據(jù)訪問對象街夭,也就是和數(shù)據(jù)庫打交道的。
這段時(shí)間一直在學(xué)習(xí)的Jdbc就是這一層里的代碼躏筏。
所以整個(gè)流程是:從數(shù)據(jù)庫中查詢到數(shù)據(jù)板丽,然后經(jīng)過具體業(yè)務(wù)邏輯處理,再返回給Web層經(jīng)過渲染成為網(wǎng)頁趁尼,最后能給用戶直接觀看埃碱。
其中編寫的代碼存放的包也有一個(gè)規(guī)范:
①beans包
也就是一個(gè)JavaBean,說白了就是對應(yīng)數(shù)據(jù)庫中某個(gè)表的一個(gè)類酥泞,需要操作多少表就對應(yīng)多少個(gè)類砚殿。
②dao包
也就是上述的數(shù)據(jù)持久層。
③service包
也就是上述的業(yè)務(wù)邏輯層芝囤。
④utils包
就是存放工具類的包似炎,就比如這段時(shí)間自定義的一個(gè)Jdbc工具類JdbcUtil。
⑤web包
也就是上述的展示層悯姊。
二羡藐、編寫一個(gè)登錄案例
關(guān)于這三層架構(gòu)代碼的編寫順序,本來我是覺得從Dao層開始更好理解的悯许。
先查詢數(shù)據(jù)仆嗦,再經(jīng)過業(yè)務(wù)處理,最后返回給Web層先壕。
這不是很好么瘩扼?
但是呢谆甜,又有人說從Web開始更符合實(shí)際開發(fā)情況,emm……行吧集绰,就從web層開始店印。
其實(shí)從Web層開始或者Dao層開始都可以,別從Service層開始就行倒慧。
1Web層
①模擬登錄頁面
因?yàn)檫€沒有學(xué)前端的知識(shí)按摘,所以用Scanner類來模擬一個(gè)登錄頁面。
②調(diào)用服務(wù)層實(shí)現(xiàn)登錄操作
服務(wù)層中有一個(gè)方法叫l(wèi)ogin():
參數(shù)即①中的用戶名和密碼.纫谅。
返回值即從數(shù)據(jù)庫中查詢到的數(shù)據(jù)炫贤。
③判斷結(jié)果
如果返回值不存在,也就是說用戶輸入的用戶名或者密碼在數(shù)據(jù)庫中查詢不到付秕。
那么提示用戶:用戶名或者密碼不正確兰珍。
2Service層
因?yàn)榈卿洶咐@個(gè)例子非常的簡單,沒有具體的業(yè)務(wù)邏輯询吴,只需要查詢數(shù)據(jù)庫就好了掠河。
所以代碼編寫也非常地簡單,直接調(diào)用Dao層查詢數(shù)據(jù)庫的方法即可猛计,其中方法要見名知意:
queryUserByNameAndPwd()也就是根據(jù)name和pwd來查詢用戶唠摹。
3Dao層
根據(jù)web層中輸入的用戶名和密碼,從數(shù)據(jù)庫中查詢出對應(yīng)的數(shù)據(jù)奉瘤。
也就是Jdbc代碼的編寫勾拉,這里使用的是JdbcTemplate,因?yàn)榍皟商煲恢倍荚趯W(xué)習(xí)這其中的代碼盗温,就不再贅述了藕赞。
三、代碼測試
代碼編寫完畢卖局,做一個(gè)測試斧蜕。
①測試一
用戶名和密碼在數(shù)據(jù)表中確實(shí)存在,故登錄成功砚偶。
②測試二
用戶名密碼不正確批销,故登錄失敗。
以上便是對于三層架構(gòu)的初步學(xué)習(xí)蟹演,以及一個(gè)簡單登錄案例的編寫风钻。
先對其有一個(gè)初步的印象,隨著后面的學(xué)習(xí)酒请,再將三層架構(gòu)不斷地完善骡技。
最后
謝謝你的觀看。
如果可以的話,麻煩幫忙點(diǎn)個(gè)贊布朦,謝謝你囤萤。