納稅服務系統【總結】

納稅服務系統總結

納稅服務系統是我第一個作得比較大的項目(不一樣於javaWeb小項目),該項目系統來源於傳智Java32期,十天的視頻課程(想要視頻的同窗關注個人公衆號就能夠直接獲取了)前端

我跟着練習一步一步完成需求,才發覺原來Java是這樣用來作網站的,Java有那麼多的類庫,頁面的效果(圖表、日期選擇器等等)是經過JavaScript組件來顯示,調用後端代碼來獲取數據從而顯示出來的。java

經過此次的項目開闊了個人視野,也解決了我當初學習Java時不少的疑問,本身練習完我將項目的代碼放到了GitHub中:github.com/ZhongFuChen…git

同時在練習的過程當中也用博文記錄下來了,一共7篇。github

納稅服務系統一(用戶模塊)【簡單增刪改查、日期組件、上傳和修改頭像】數據庫

納稅服務系統二(用戶模塊)【POI、用戶惟一性校驗】c#

納稅服務系統三(優化處理)【異常處理、抽取BaseAction】後端

納稅服務系統四(角色模塊)【角色與權限、角色與用戶】緩存

納稅服務系統五(登錄與系統攔截)【配置系統、子系統首頁、登錄與攔截】微信

納稅服務系統六(信息發佈管理模塊)【Ueditor、異步信息交互、抽取BaseService、條件查詢、分頁】架構

納稅服務系統七(投訴管理模塊)【顯示投訴信息、處理回覆、我要投訴、Quartz自動受理、統計圖FusionCharts】

練習時截取部分的gif:

該項目涉及到的知識:

  • Struts2,Spring,Hibernate
  • JSP
  • Javascript,jQuery,AJAX
  • 某些工具類及組件如(FileUtil,POI,DateUtils)
  • JS組件:日期組件、富文本編輯器、Fusionchart(圖表組件)
  • 抽取Action、Service、Dao,全局異常處理
  • 權限控制的模型設計(用戶、角色、權限)
  • 數據回顯和分頁
  • Hibernate逆向工程
  • Quartz定時調度工具

寫這篇博文的目的也是爲了總結一下在此次項目中學到了什麼東西,除了上面這些知識點大綱,還有不少實用的小技巧

  • JSP重複的代碼最好抽取出來,用到的頁面再從新include進去就好了
  • 多用一些經常使用的工具類(FileUtil,DateUtils),簡化咱們的開發
  • 在前端頁面上想要達到一些絢麗的效果(本身很難寫出來和功能比較複雜那種),找找有沒有對應的組件來使用(日期組件、富文本編輯器、Fusionchart)。
  • 同理,在後端也是同樣。Java操做Excel有對應的組件POI等,Java實現"自動處理"有Quartz開源框架
  • AJAX無刷新特定能幹不少的功能
  • 三層架構(Controller、Service、Dao)的代碼不少都可以抽取出來,Controller抽取的是通用的屬性和方法,Service抽取的是相同的業務方法,Dao層抽取CURD通用方法
  • 統一處理異常可以提升系統的健壯性,避免異常信息給到用戶看(用戶也看不懂,發生錯誤應該提示友好的提示)
  • 在設計模型對象關係時,若是功能簡單的話也不用「死板」地建立對象,建立表,看能不能用常量(集合)來代替
  • 在修改多個數據的時候能夠換個思路:先把原有的數據刪除了,再增長用戶勾選的記錄(達到修改的效果)
  • 在頁面上定位一個標籤,咱們能夠使用特殊的前綴+上咱們的Id
  • 在條件查詢的時候,**儘可能把like字段的數據放在後邊,以提升咱們的查詢性能!**當在數據庫查詢時,若是某些數據是不存在但有這個字段時,想一想能不能用左外鏈接查詢
  • 在Struts2指定name爲root的話,咱們能夠指定哪一個屬性是返回JSON格式的。
  • 要是使用到日曆的話,咱們想到使用Calendar這個日曆類

上面僅僅是我我的總結的要點,若是有錯誤的地方還請你們給我指正。

若是SSH還不太熟悉的同窗可先看我其餘的基礎博文:

Hibernate:

Struts2:

Spring:

SSH整合與閱讀項目:

若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠關注微信公衆號:Java3y

相關文章
相關標籤/搜索