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