網站設計器v1.0-20170215版本發佈記錄

V1.0版本的軟件界面:

該版本打包放在了百度網盤鏈接:http://pan.baidu.com/s/1c2knCty 密碼:8l62

CSDN下載:http://download.csdn.net/download/qq1130141391/9756355


終於忍不住要發一個版本了,畢竟從開始做網站設計器到現在,已經將近一個月了,這一個月利用下班時間,一邊溫習Java Web開發技術,一邊編寫網站設計器的代碼,感覺太漫長了,好損士氣,爲了更好的執行下一階段的任務,就忍不住先出一個版本,用來鼓勵一下自己。

整個網站設計器開發任務是包括後臺代碼,前臺JavaScript代碼和前臺頁面3部分的。由於不能全職去開發,在這一個月內只是利用了零零星星的時間進行開發,感覺進度實在太慢了,不過沒辦法,只能耐心點,畢竟所有代碼都得自己寫,還得自己寫單元測試代碼。

所以第一個版本就大打折扣了,基本完成了後臺代碼的自動生成。之所以說是基本完成,那是因爲後臺代碼還有一小部分可以增加的功能、一些可以優化的功能。到目前來說,能自動生成一個MyEclipse的web項目,該web項目使用的是Struts2,Spring,Hibernate來架構的,會自動生成對應的框架需要的配置文件,就代碼來說,也生成了對應的Domain,Dao, Service, Action代碼,完成了絕大部分的增刪查改的功能,而且增加的數據校驗,異常處理、錯誤碼處理部分也相對優雅。

但是還是有很多任務列表未完成,比如多表關聯查詢,包括一對一,一對多,多對一,多對多。目前來說僅支持單表操作。還有比如批量增,批量改,批量刪除,登錄控制,權限管理,文件上傳,文件下載,導入Excel數據,發送郵件,發送短信,忘記密碼,找回密碼,防止SQL注入,圖片驗證碼,生成二維碼,生成水印,防止惡意訪問,公共代碼工程等等,還是有很多沒完成的。只能慢慢來了。


由於是使用Java Swing + JavaFx開發的界面,由於使用到了JavaFx,所以只能使用JDK1.8, 因爲JDK1.8開始集成了JavaFx了。但是生成的MyEclipse web工程是使用JDK1.7測試的,Tomcat是使用7.0的。現在感覺越來越多的Java開源庫,框架隨着JDK的升級,也依賴對應的JDK版本了。後面優化的話,會逐漸升級Struts, Spring, Hibernate到更高版本,JDK也會升級到對應版本吧。界面開發也會單純使用JavaFx, 未來也會支持Web版本。但這些只能往後面排了,等完成所有的任務列表,再考慮吧。

  • 下面是網站設計器的任務列表:
  • 粗體+斜體:代表任務未開始
  • 粗體:代表任務已完成編碼,待測試和優化
  • 正常:代表完成編碼,單元測試

  • 後臺代碼包括
  • Java代碼
  • 配置文件
  • Java代碼部分包括
  • Domain(POJO)
  • Dao
  • Service
  • Action
  • 配置文件包括
  • web.xml
  • spring.xml
  • struts.xml
  • struts-domain.xml
  • log4j.xml
  • 前臺代碼包括
  • JavaScript代碼
  • 表單頁面HTML代碼
  • 打包成MyEclipse工程,配置MyEclipse標準工程模板
  • 測試、Debug
  • 實際項目應用


後臺代碼:生成Java Bean(Domain/POJO):
  • 需放置在對應的package目錄(domain)
  • 需導入用到的Java類
  • 需要類命名需遵循Java命名規範
  • 字段命名需遵循Java命名規範
  • 字段有對應的getter和setter
  • 需實現Seriable接口
  • 需生成對應hibernate Java Bean配置文件
  • 配置文件需支持動態插入動態更新
  • 配置文件需支持對應的映射數據類型
  • 需支持日期,時間,時間戳的映射
  • 需支持大數據對象如大文本,二進制數據映射
  • 需支持浮點類型的小數位數
  • 需支持外鍵字段
  • 需支持一對一,一對多,多對一,多對多的級聯查詢
  • 生成toString方法
  • 支持配置字段說明描述,主要指字段名
  • 支持配置校驗規則描述說明
  • 增加支持非空字符串選項
  • 增加非空字段生成對應的索引,加快查詢效率
生成Dao
  • 需放置在對應的package目錄(Dao)
  • 需導入用到的Java類
  • 需要類命名需遵循Java命名規範
  • 字段命名需遵循Java命名規範
  • 需保存Java Bean(增)
  • 需一次性批量保存Java Bean(增)
  • 需更新Java Bean,可以選擇特定字段不更新(改),需增加int類型返回值
  • 需一次性批量更新Java Bean(增)
  • 需根據主鍵更新特定的字段(改)
  • 需根據主鍵刪除Java Bean(刪),需增加int類型返回值
  • 需一次性批量刪除Java Bean(刪)
  • 需根據唯一性字段刪除Java Bean(刪)
  • 需據根主鍵查詢Java Bean(查)
  • 需根據唯一性字段查詢Java Bean(查)
  • 需根據模糊查詢字段查詢記錄總數(查)
  • 需根據模糊查詢字段查詢記錄列表(查)
  • 需根據精確查詢字段查詢記錄總數(查)
  • 需根據精確查詢字段查詢記錄列表(查)
  • 模糊查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 精確查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 需根據主鍵查詢記錄是否存在(查)
  • 需根據唯一性字段查詢記錄是否存在(查)
  • 需根據賬號和密碼字段提供登錄操作(查)
  • 需要支持外鍵
  • 需要根據主鍵查詢每一個唯一性字段
  • 需要根據主鍵查詢所有的唯一性字段
  • 需要根據主鍵查詢每一個非空字段
  • 需要根據主鍵查詢所有非空字段
  • 需要根據主鍵查詢所有唯一性且非空字段
  • 需支持一對一,一對多,多對一,多對多的級聯查詢
  • 需支持集合的過濾和子查詢
  • 需支持動態插入和動態更新屬性
  • 支持接口
  • 需支持解綁操作,並涉及刪除
  • 需支持狀態刪除,並非真正的刪除
生成Service
  • 需放置在對應的package目錄(service)
  • 需導入用到的Java類
  • 需要類命名需遵循Java命名規範
  • 字段命名需遵循Java命名規範
  • 需保存Java Bean(增)
  • 需一次性批量保存Java Bean(增)
  • 需更新Java Bean,可以選擇特定字段不保存(改),需增加int類型返回值的處理
  • 需一次性批量更新Java Bean(增)
  • 需根據主鍵更新特定的字段(改)
  • 需根據主鍵刪除Java Bean(刪),需增加int類型返回值
  • 需一次性批量刪除Java Bean(刪)
  • 需根據唯一性字段刪除Java Bean(刪)
  • 需據根主鍵查詢Java Bean(查)
  • 需根據唯一性字段查詢Java Bean(查)
  • 需根據模糊查詢字段查詢記錄總數(查)
  • 需根據模糊查詢字段查詢記錄列表(查)
  • 需根據精確查詢字段查詢記錄總數(查)
  • 需根據精確查詢字段查詢記錄列表(查)
  • 模糊查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 精確查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 需根據主鍵查詢記錄是否存在(查)
  • 需根據唯一性字段查詢記錄是否存在(查)
  • 在進行增刪查改操作前,需根據字段校驗規則校驗數據有效性,出錯則拋出異常
  • 根據校驗結果和執行結果,返回正確的返回值,並配置返回值對應的信息
  • 操作失敗後,需要檢查是否字段是否唯一
  • 需根據賬號和密碼字段提供登錄操作(查)
  • 接口返回值類型統一爲boolean
  • 接口都需拋出Exception,Action可以通過Exception的子類,子類增加獲取返回碼,提示信息
  • 返回值規則:0 - 校驗通過; 999 - 操作失敗,1000 - 字段不能爲null;1001 - 字段不能爲空 (null或者空字符串);1002 - 字段長度超限;1003 - 字段輸入格式不正確 ;1004 - 查詢頁大小不正確 1005 - 記錄已存在 1006 - 記錄不存在, 無法更新 1007 - 沒有更新任何記錄 1008 - 沒有刪除任何記錄 1009 - 記錄不存在,無法刪除
  • 需要支持外鍵
  • 需檢驗外鍵非空性
  • 需檢驗外鍵存在性
  • 需對非空字符串字段進行校驗
  • 需要根據主鍵查詢每一個唯一性字
  • 需要根據主鍵查詢每一個唯一性字
  • 需要根據主鍵查詢所有的唯一性字
  • 需要根據主鍵查詢每一個非空字段
  • 需要根據主鍵查詢所有非空字段
  • 需要根據主鍵查詢所有唯一性且非空字段
  • 需支持一對一,一對多,多對一,多對多的級聯查詢
  • 支持接口
    • 需支持集合的過濾和子查詢
生成Action
  • 需放置在對應的package目錄(action)
  • 需導入用到的Java類
  • 需要類命名需遵循Java命名規範
  • 字段命名需遵循Java命名規範
  • 需保存Java Bean(增)
  • 需保存Java Bean,可以選擇特定字段不保存(改)
  • 需根據主鍵更新特定的字段(改)
  • 需根據主鍵刪除Java Bean(刪)
  • 需根據唯一性字段刪除Java Bean(刪)
  • 需據根主鍵查詢Java Bean(查)
  • 需根據唯一性字段查詢Java Bean(查)
  • 需根據模糊查詢字段查詢記錄總數(查)
  • 需根據模糊查詢字段查詢記錄列表(查)
  • 需根據精確查詢字段查詢記錄總數(查)
  • 需根據精確查詢字段查詢記錄列表(查)
  • 模糊查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 精確查詢需要根據查詢的字段進行升序或者降序的排序(查)
  • 需根據主鍵查詢記錄是否存在(查)
  • 需根據唯一性字段查詢記錄是否存在(查)
  • 需根據操作結果,設置返回碼、成功與否標誌、提示信息以及查詢的數據結果
  • 需捕獲異常,獲取錯誤碼和提示信息,並log對應的錯誤信息
  • 需根據賬號和密碼字段提供登錄操作,並保存到回話Session
  • 根據規則配置Action是否需要檢查是否已經登錄(查)
  • 需生成對應的struts配置文件
  • 需要支持外鍵
  • 需要根據主鍵查詢每一個唯一性字段
  • 需要根據主鍵查詢所有的唯一性字段
  • 需要根據主鍵查詢每一個非空字段
  • 需要根據主鍵查詢所有非空字段
  • 需要根據主鍵查詢所有唯一性且非空字段
  • 需提供管理員用戶密碼功能,管理員重置密碼後,通過郵件告知用戶新的密碼
  • 需提供用戶找回密碼功能,用戶申請找回密碼後,通過郵箱獲取檢驗碼,用戶輸入匹配的檢驗碼完成找回密碼
  • 需提供管理員用戶密碼功能,管理員重置密碼後,通過手機告知用戶新的密碼
  • 需提供用戶找回密碼功能,用戶申請找回密碼後,通過手機獲取檢驗碼,用戶輸入匹配的檢驗碼完成找回密碼
  • 需提供文件上傳功能
  • 需提供文件下載功能
  • 需生成涉及數據庫操作的的單元測試Case
  • 需控制不返回敏感信息
  • 需支持防止SQL注入
配置文件
  • 生成spring配置文件
  • 生成struts配置文件
  • 生成web配置文件

由於前臺代碼工作還沒開始,所以有很多細節還不清楚,所以下面的列表比較粗略,後面會逐步細化。

前臺代碼:頁面:
  • 需生成一個列表頁面,提供模糊字段查詢數據,列表顯示所有字段的數據,提供增加、刪除、編輯按鈕,並實現刪除功能
  • 需生成一個增加頁面,提供所有字段輸入,提供保存和取消按鈕
  • 需生成一個編輯頁面,提供所有字段輸入,提供保存和取消按鈕
  • 頁面內的字段需配置ID屬性,ID命名需遵循Java命名規範: lowerClassName.lowerFieldName,按鈕ID:btn.operation
  • 每個字段都應對應一個校驗提示信息,校驗結果不同,顯示樣式不一樣
  • 根據校驗結果,提供動態改動字段輸入框狀態的樣式
JavaScript代碼:
  • 一個Action對應一個JavaScript源文件
  • 需放置在對應的目錄
  • 需導入用到的JavaScript插件,如JQuery
  • 文件命名保持與table命名一致
  • ID命名需遵循Java命名規範: lowerClassName.lowerFieldName
  • 每個Action需要有對應的JavaScript函數,一一對應
  • 每個Action對應的JavaScript函數內需根據ID自動獲取頁面字段的值
  • JavaScript源文件中需生成每個字段的校驗函數, 唯一性的字段,需先查詢後保證不重複
  • 每個Action對應的JavaScript函數內需根據ID自動獲取頁面字段的值後,需校驗每個字段
  • 根據校驗結果動態改動輸入框狀態樣式,提示信息及提示信息樣式
  • 通過校驗後,每個Action對應的JavaScript函數內需AJAX請求後臺Action,根據後臺返回信息,使用彈出款提示用戶操作結果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章