詳解java中controller層是干什么的
最近在研究開源框架的源碼,打算改寫開源框架,適用于自身的業(yè)務(wù)場景。于是找到了一個框架(spiderFlow)。
根據(jù)他的git上的教程,搭建了一個。
controller層,在我們寫代碼的時候,一般為接口層,與前端,也就是頁面,進(jìn)行親密接觸的那一層。
那他是怎么親密的?使用google瀏覽器,按f12,點(diǎn)擊network。
然后點(diǎn)擊頁面的按鈕,就會發(fā)送http請求。比如我點(diǎn)擊測試連接。
他就從測試連接,執(zhí)行了這個test請求,這個請求實(shí)際是走的右邊那個接口(接口就是親密接觸,和界面交互的地方),接口就是后端(服務(wù)器端)服務(wù)的一部分。
然后在controller類就能找到了,這個就是點(diǎn)擊后,進(jìn)來的后端方法
看方法里面,連接數(shù)據(jù)庫的這些東西都被寫的很簡單,也不含操作數(shù)據(jù)庫的sql語句。
盡是些return,返回給前端收到的標(biāo)識。那controller層就是給前端提供標(biāo)識?
沒錯,就是一些簡單的判斷,然后在不同的情況,返回給前端不同的內(nèi)容,當(dāng)然也可以不反回,不過一般都是要返回的,否則前端不知道,服務(wù)端,到底有沒有執(zhí)行這個接口該做的事情。
復(fù)雜的情況,統(tǒng)統(tǒng)封裝起來,controller只顯示業(yè)務(wù)邏輯,具體對代碼的實(shí)現(xiàn),隱藏在service層。
這樣業(yè)務(wù)分離,邏輯看起來就很清晰,如果以后遇到什么問題,可以很快的定位到錯誤的位置,并且對于以后升級的需求也很方便修改。
總結(jié):
controller層,與前端(界面-客戶端)交互。返回給客戶端標(biāo)識。不寫復(fù)雜代碼,只判斷邏輯,根據(jù)判斷(if語句類的),返回不同的結(jié)果。具體的代碼實(shí)現(xiàn)細(xì)節(jié),隱藏在service層,通過一行或多行(盡可能少量的代碼調(diào)用)。
到此這篇關(guān)于java中controller層是干什么的文章就介紹到這了,更多相關(guān)java中controller層使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA中數(shù)組插入與刪除指定元素的實(shí)例代碼
下面小編就為大家分享一篇JAVA中數(shù)組插入與刪除指定元素的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02如何在java文件中設(shè)置文字顏色:setTextColor()
這篇文章主要介紹了如何在java文件中設(shè)置文字顏色:setTextColor(),文末補(bǔ)充介紹了在java代碼中設(shè)置字體顏色方法總結(jié),結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09Java?中的?Lambda?List?轉(zhuǎn)?Map?的多種方法詳解
這篇文章主要介紹了Java中的Lambda?List轉(zhuǎn)Map幾種方式,傳統(tǒng)的方式又顯得太臃腫,于是就想到 Lambda 神器,今天我們就來看看都有哪幾種轉(zhuǎn)換方式(List -> Map),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-07-07Spring Boot如何動態(tài)創(chuàng)建Bean示例代碼
這篇文章主要給大家介紹了關(guān)于Spring Boot如何動態(tài)創(chuàng)建Bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09利用IDEA工具修改Maven多模塊項(xiàng)目標(biāo)識包名全過程記錄
當(dāng)我們?yōu)榧追椒?wù)提供軟件開發(fā)服務(wù)時,需要按照甲方的要求去修改軟件的標(biāo)識,對于Maven項(xiàng)目來說就對應(yīng)著groupId,一般地寫對方公司的域名,如com.example,接下來通過本文給大家分享IDEA修改Maven多模塊項(xiàng)目標(biāo)識包名,感興趣的朋友一起看看吧2022-09-09