前一段第一次接觸springmvc的時候,是學習與開發同時進行的,難免會留下一些壞習慣,使的**結構不夠標準。現將最近看到的文章總結的一些想法歸納一下。
一般controller的作用應該侷限於連線前端request以及後端服務的樞紐,不應該實現過多複雜的業務邏輯。甚至可以將前端request直接傳遞到後端service中進行處理。這樣可以使service的藉口更為簡潔,在引數變化的時候不需要輕易改動介面。
因此controller - service 之間的結構變為:
@controller
public
class
controller
}public
inte***ce
service
為資料獲取通道專門開設controller,類似於api。分離的好處有:
比如:
//僅返回頁面資源
@controller
public
class
webcontroller
}//處理資料並返回資料實體
@controller
public
class
apicontroller
}
這樣在頁面中就可以使用ajax來非同步載入資料了。
因此可以為模組開始webcontroller以及apicontroller分別處理請求。
比如登陸流程可以分為:
使用者名稱、密碼匹配 -> 登陸狀態修改 -> 日誌記錄 -> 獲取使用者許可權 …
等等幾個步驟,
每個步驟都可以專門在dao中開闢介面。service中依次呼叫即可。這樣使得業務邏輯在service**中更為清晰。也便於除錯。
通過setfirstresult
和setmaxresults
進行分頁
@override
public listfindall(int pageno, int pagesize) throws exception catch (exception e)
return resultlist;
}
通過拼接字串的形式生成hql實現 Looper Handler進一步學習
package com.test.looper import android.os.bundle import android.os.handler import android.os.handlerthread import android.os.looper import android.os....
Sevlet進一步學習
request物件與response物件是tomcat建立的,不需要我們建立。requst物件的一些常用方法 獲取請求引數通用方式 不論get還是post請求方式都可以使用下列方法來獲取請求引數 string getparameter string name 根據引數名稱獲取引數值 username...
html 進一步學習
標籤 基本格式 lang en charset utf 8 titletitle head body html 不是標籤,而是一種宣告,讓瀏覽器知道 html 是用什麼版本編寫的,這裡表示用的 html5 版本 這裡類似於程式語言中主函式或者主方法,也就是乙個入口,整個 html 從這裡開始,並且所...