1. 程式人生 > >JavaWeb - 開發篇

JavaWeb - 開發篇

一、前端

  1. JSP改成H5規格。
  2. 公共配置資訊的JSP。
  3. 待更新...

二、後端

  1. 過濾器:亂碼處理、登入處理。
  2. 常量:杜絕使用常量("name")直接在業務邏輯裡,應該使用 static final 來修飾,用常量(NAME)。
  3. 設計模式:簡單工廠、工廠方法(構建工廠)、單例。
    Ps:有時候不可能完全符合設計模式的一個思想,但是有這麼一個趨勢在也是可以的,因為有些業務邏輯很複雜,靈活套用設計模式,也許你設計出來的就是一個新的設計模式思想。
  4. 設計原則:開閉原則、單一職責原則、迪米特原則。
  5. 反射、多型、封裝、繼承。
  6. @Resource(name="...")
  7. XML + Annotation
  8. AOP:AspectJ(推薦註解方式)
  9. 引數當中匿名內部類,可以在該類中 private class ... 這樣可讀性更高。
  10. 事務控制由Java來,資料庫不需要。
  11. 事務大部分推薦XML配置,細粒度可以用註解來配置。
  12. 日誌系統(切面處理)
  13. web --> global包:全域性控制器,比如:亂碼處理,404,500
  14. WEB-INF 安全性。
  15. mybatis 只讀方式設定。
  16. Java實體類時間用Date型別;所有屬性一律用物件型別,比如:id用Integer物件型別。
    為什麼實體類的屬性(本可設定為基本資料型別)設定為物件類,而不是基本資料型別?

    答:因為ORM框架中,有時判斷都以null為基準,用基本資料型別的話,就可能預設為一個具體的值。
  17. 介面方法,可以省略public abstract關鍵字。
  18. Threadlocal
  19. 在Java程式碼中,可以返回並在返回後執行JS程式碼。
    response.getWriter().print("<script type=\"text/javascript\">parent.location.href=\"../logout.do\"</script>");
  20. MyBatis 別名,註解方式。
  21. 待更新...

三、資料庫

  1. 外來鍵:但無物理外來鍵約束而有邏輯外來鍵約束,順便省了關聯關係的分析。
  2. SQL語句記得寫 COMMENT。
  3. 使用者狀態:0-正常,1-鎖定,2-刪除。
  4. 多個獨立資料來源配置:environments。
  5. 常量資訊配置檔案:properties。
  6. img 一般不會放在資料庫裡,而放在第三方的伺服器裡。
    Ps:放在資料庫的話型別用mediumblob,伺服器裡面用路徑來表示,型別為varchar。
  7. 時間不要用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)
  8. 程式碼建立表的時候,欄位名最好用單引號括起來,避免出現關鍵字不能用,否則就可以使用,一般也不建議使用關鍵字。
  9. URL地址記得字符集。
  10. 若要建立外來鍵約束,推薦放在所有表建立完畢後,再建立,否則在建立表的時候建立時,就必須要按照約束的順序來(與哪個表外來鍵約束,那個表要先建立),比較麻煩。
  11. 待更新...

四、工具

  1. Log。
  2. Junit。
  3. Maven:
    1、多處使用相同的版本號,用自定義變數方式。
  4. IDEA:
    1、java資料夾設定原始碼資料夾。
    2、父(普通模板)module + web(web模板)、service(普通模板)兩個module。
  5. 待更新...

附:其它

  1. 工具類。
  2. 資源參考:
    1、Spring+MyBatis整合開發人員資訊管理系統原始碼
  3. 待更新...