JavaWeb - 開發篇
阿新 • • 發佈:2018-12-01
一、前端
- JSP改成H5規格。
- 公共配置資訊的JSP。
- 待更新...
二、後端
- 過濾器:亂碼處理、登入處理。
- 常量:杜絕使用常量("name")直接在業務邏輯裡,應該使用 static final 來修飾,用常量(NAME)。
- 設計模式:簡單工廠、工廠方法(構建工廠)、單例。
Ps:有時候不可能完全符合設計模式的一個思想,但是有這麼一個趨勢在也是可以的,因為有些業務邏輯很複雜,靈活套用設計模式,也許你設計出來的就是一個新的設計模式思想。 - 設計原則:開閉原則、單一職責原則、迪米特原則。
- 反射、多型、封裝、繼承。
- @Resource(name="...")
- XML + Annotation
- AOP:AspectJ(推薦註解方式)
- 引數當中匿名內部類,可以在該類中 private class ... 這樣可讀性更高。
- 事務控制由Java來,資料庫不需要。
- 事務大部分推薦XML配置,細粒度可以用註解來配置。
- 日誌系統(切面處理)
- web --> global包:全域性控制器,比如:亂碼處理,404,500
- WEB-INF 安全性。
- mybatis 只讀方式設定。
- Java實體類時間用Date型別;所有屬性一律用物件型別,比如:id用Integer物件型別。
為什麼實體類的屬性(本可設定為基本資料型別)設定為物件類,而不是基本資料型別?
答:因為ORM框架中,有時判斷都以null為基準,用基本資料型別的話,就可能預設為一個具體的值。 - 介面方法,可以省略public abstract關鍵字。
- Threadlocal
- 在Java程式碼中,可以返回並在返回後執行JS程式碼。
response.getWriter().print("<script type=\"text/javascript\">parent.location.href=\"../logout.do\"</script>");
- MyBatis 別名,註解方式。
- 待更新...
三、資料庫
- 外來鍵:但無物理外來鍵約束而有邏輯外來鍵約束,順便省了關聯關係的分析。
- SQL語句記得寫 COMMENT。
- 使用者狀態:0-正常,1-鎖定,2-刪除。
- 多個獨立資料來源配置:environments。
- 常量資訊配置檔案:properties。
- img 一般不會放在資料庫裡,而放在第三方的伺服器裡。
Ps:放在資料庫的話型別用mediumblob,伺服器裡面用路徑來表示,型別為varchar。 - 時間不要用timestamp ,用datetime,因為...
datetime 型別取值範圍:1000-01-01 00:00:00 到 9999-12-31 23:59:59
timestamp 型別取值範圍:1970-01-01 00:00:00 到 2037-12-31 23:59:59(經過測試得出範圍為1970-01-01 08:00:01 到2038-01-19 11:14:07) - 程式碼建立表的時候,欄位名最好用單引號括起來,避免出現關鍵字不能用,否則就可以使用,一般也不建議使用關鍵字。
- URL地址記得字符集。
- 若要建立外來鍵約束,推薦放在所有表建立完畢後,再建立,否則在建立表的時候建立時,就必須要按照約束的順序來(與哪個表外來鍵約束,那個表要先建立),比較麻煩。
- 待更新...
四、工具
- Log。
- Junit。
- Maven:
1、多處使用相同的版本號,用自定義變數方式。 - IDEA:
1、java資料夾設定原始碼資料夾。
2、父(普通模板)module + web(web模板)、service(普通模板)兩個module。 - 待更新...
附:其它
- 工具類。
- 資源參考:
1、Spring+MyBatis整合開發人員資訊管理系統原始碼 - 待更新...