J2EE開發(fā)注意事項(xiàng)
1.頁面展現(xiàn)層
1.每個input輸入框都必須設(shè)置maxlength。texaArea沒有maxlength這個屬性,所以必須使用js來控制用戶輸入的長度。
2.對于數(shù)據(jù)顯示列表,必須定義每列的寬度,必須強(qiáng)制截取每列的長度,在TITLE顯示每列的全部數(shù)據(jù)。
3.必須在用戶指定的分辨率下進(jìn)行測試,如1024*768。
4.盡量在firefox下做測試,這樣能盡量兼容各個瀏覽器。
5.頁面上的地址原則上寫絕對路徑。
6.空間和窗口的大小,盡量使用百分比,而不是像素點(diǎn)。以避免在不同分辨率下界面錯位的問題。
7.對于表格的各列,根據(jù)顯示的內(nèi)容,固定該列的寬度。
2.業(yè)務(wù)邏輯層
2.1 在獲得數(shù)據(jù)和編輯數(shù)據(jù)的時候,必須先檢查當(dāng)前數(shù)據(jù)是否存在,如果不存在,則提示用戶。
2.2 原則上調(diào)用service層,不直接調(diào)用DAO層。
2.3 輸出數(shù)據(jù)格式與平臺無關(guān),如: 輸出JSON的數(shù)據(jù)格式,這樣頁面展現(xiàn)層無論是用jsp,swing,flex開發(fā)都能使用這些數(shù)據(jù)。
3.服務(wù)展現(xiàn)層
3.1 對于多條數(shù)據(jù)庫更新操作,使用事務(wù)處理。單條數(shù)據(jù)更新操作不做事務(wù)處理。
3.2 對傳入的參數(shù),進(jìn)行驗(yàn)證,拋出參數(shù)異常。
3.3 拋出用戶友好異常。如 當(dāng)前用戶已經(jīng)存在。
3.4 盡量拋出uncheck異常,不推薦拋出check異常。
4.數(shù)據(jù)訪問層
4.1 不涉及任何業(yè)務(wù)邏輯,只關(guān)心數(shù)據(jù)的操作。如:
不應(yīng)該提供查詢已辦任務(wù)的方法,應(yīng)該是通過任務(wù)狀態(tài)進(jìn)行查詢
轉(zhuǎn)載自:http://kiral.javaeye.com/blog/186456
1.每個input輸入框都必須設(shè)置maxlength。texaArea沒有maxlength這個屬性,所以必須使用js來控制用戶輸入的長度。
2.對于數(shù)據(jù)顯示列表,必須定義每列的寬度,必須強(qiáng)制截取每列的長度,在TITLE顯示每列的全部數(shù)據(jù)。
3.必須在用戶指定的分辨率下進(jìn)行測試,如1024*768。
4.盡量在firefox下做測試,這樣能盡量兼容各個瀏覽器。
5.頁面上的地址原則上寫絕對路徑。
6.空間和窗口的大小,盡量使用百分比,而不是像素點(diǎn)。以避免在不同分辨率下界面錯位的問題。
7.對于表格的各列,根據(jù)顯示的內(nèi)容,固定該列的寬度。
2.業(yè)務(wù)邏輯層
2.1 在獲得數(shù)據(jù)和編輯數(shù)據(jù)的時候,必須先檢查當(dāng)前數(shù)據(jù)是否存在,如果不存在,則提示用戶。
2.2 原則上調(diào)用service層,不直接調(diào)用DAO層。
2.3 輸出數(shù)據(jù)格式與平臺無關(guān),如: 輸出JSON的數(shù)據(jù)格式,這樣頁面展現(xiàn)層無論是用jsp,swing,flex開發(fā)都能使用這些數(shù)據(jù)。
3.服務(wù)展現(xiàn)層
3.1 對于多條數(shù)據(jù)庫更新操作,使用事務(wù)處理。單條數(shù)據(jù)更新操作不做事務(wù)處理。
3.2 對傳入的參數(shù),進(jìn)行驗(yàn)證,拋出參數(shù)異常。
3.3 拋出用戶友好異常。如 當(dāng)前用戶已經(jīng)存在。
3.4 盡量拋出uncheck異常,不推薦拋出check異常。
4.數(shù)據(jù)訪問層
4.1 不涉及任何業(yè)務(wù)邏輯,只關(guān)心數(shù)據(jù)的操作。如:
不應(yīng)該提供查詢已辦任務(wù)的方法,應(yīng)該是通過任務(wù)狀態(tài)進(jìn)行查詢
轉(zhuǎn)載自:http://kiral.javaeye.com/blog/186456