(開源)DWZ+EWeb4j打造門戶系統

EWeb4J是一個基於Java平臺的框架。它是開源的且是商業友好的(Licensed under the Apache License, Version 2.0)。它更喜歡J2EE的應用開發。

截止到2011年8月17日晚上20點,EWeb4j已經更新至1.b.6.x版本了,這是一個里程碑版本,值得慶賀。目前提供了下載,包括源代碼,jar包,javadoc 另外,一個值得高興的消息是,我使用DWZ最新版本作爲後臺界面,eweb4j1.b.6.4版本開發了一個簡單的門戶系統雛形,目前整個系統已經搭建起來了,但功能只實現了部分,包括用戶登陸,註冊,查看,登陸驗證,菜單管理(DWZ後臺界面的菜單自定義)。現在先發上來,包括源代碼都有,大家可以參考來學習EWeb4j。有任何問題可以聯繫:

QQ:493781187 EMAIL:[email protected] 網站留言:[url]http://lurencun.com/guestbook[/url]

謝謝。

EWeb4j更新日誌:

v1.a.432
2011-05-09 2:05
修復:mvc action模塊的從頁面request中自動設值到action屬性中不支持數組的bug
改善:orm 模塊的對sql查詢回來的結果集緩存的內存結構。新的結構爲:一個PO持久化類—>一個SqlResultCache緩存池,其中SqlResultCache緩存池的結構爲:一條sql語句—>多個對象ID,一個對象ID—>一個查詢出來的對象,這些查詢出來的對象被放在一個全局的緩存池中。
改善:orm sql模塊中的插入、刪除、更新sql語句創建類,編寫了它們的JUnit測試類
v1.a.433
2011-05-11 22:55
撤掉ORM的緩存機制,原因是需要維護全局緩存資源導致需同步多線程產生了額外時間開銷。得不償失。去掉緩存後發現性能更高。
改善ORM模塊,靈活支持多數據庫。

v1.b.3
2011-07-15
支持REST
1.b.3 2011-7.16
MVC添加了註解配置的支持、支持REST風格url配置
1.b.4 2011-7-26
ORM添加了註解配置的支持、添加了表關係配置@Many,@One,@ManyMany、添加了級聯操作CascadeDAO
1.b.4.2
修復了因調用了Tomcat7的reqeust.getServletContext()而導致7之前的版本無法啓動框架的bug
1.b.4.3
改善了驗證器捕獲錯誤方式,本來是一旦發現錯誤,馬上報告給用戶,現在是發現所有能夠發現的錯誤,再來報告給用戶。另外,將用戶輸入過的值返回給頁面。第三,廢除了Validator的showErrorType屬性,改而換到Action配置屬性裏。註解方式下,@ValErrShow(value={""}),value是一個數組類型,對應着第幾個action
1.b.4.4
廢除了@ReqeustMapping中的數組類型value,轉爲String類型,因此@Validator和@Result也沒有了index屬性。
1.b.4.5 2011-7-30
修復:action執行方法的bug
1.將Validator裏的Param屬性轉到Field屬性下,同時,@ValParam改名@FieldParam並index屬性轉到了@ValField下
2.支持action方法返回值裏嵌套"redirect:xxx"客戶端跳轉,或者"forward:xxx"(當沒有@Result註解時,"xxx"也表達此意)服務端跳轉
3.去掉@RequestMethod註解,改爲@RequestMapping增加一個屬性method,去掉@ValErrShow,改爲MVC中的
@RequestMapping增加一個屬性showValErr,且以下註解增加了某些屬性的默認值。
@RequestMapping:method默認"GET",showValErr默認"alert"
@FieldParam:index默認0,且改成int[]類型
@ValField:index默認0,且改成int[]類型
@Validator:clazz默認""

ORM中的
@Table:value默認""
@Column:value默認""

1.b.4.6
修復action方法聲明HttpSession參數時發生初始化錯誤的bug。

1.b.4.7 7-23
MVC添加了對多個包掃描的配置,即:
<scanActionPackage>
<path></path>
<path></path>
...
</scanActionPackage>
同理ORM的也是
<scanPojoPackage>
<path></path>
<path></path>
...
</scanPojoPackage>

爲MVC的@Param添加了初始化屬性init,默認值爲""

1.b.4.8 8-1
添加@RequestMapping("GET|POST|PUT|DELETE"),支持“|”來表示映射到多個http方法中
分頁組件:添加了首頁,末頁,下一頁,上一頁的文字配置。默認是中文的。

1.b.4.9
發現當pojo的自增長主鍵名字不是id時,BaseDAOImpl將其名字寫死爲“id”了,因此會報錯,修復此bug
爲@One添加了級聯更新的操作。

1.b.5.0
發現@One註解下的級聯查詢有一個bug,在獲取當前對象的idField上出錯了,錯在獲取的是target類的idField,當前版本修復了這個bug。
將CascadeDAO的所有對外接口方法的末尾String[]參數類型修改成String...的動態數組類型。

1.b.5.1
將CascadeDAO的update(T... t)方法修改爲update(T[] t)

1.b.5.2
CascadeDAO的insert方法實現增加一種判斷,當@One對象的id值不爲0且不爲null的時候,會先去查詢數據庫是否含有該記錄,接着如果沒有或者爲0或者爲null,會採用先插入@One對象,獲取其ID值,然後插入到當前對象中去完成關聯。

1.b.6.0
重構了整個Jdbc包,添加了事務模板的支持。數據源支持方式更加靈活,重構了CascadeDAO,所有的DAO、JdbcUtil操作都支持事務模板。總之,這個版本做的工作非常多,也非常值得慶賀。這個版本應該是目前功能最完善,最給力的了。

1.b.6版本是一個里程碑
下面羅列當前版本已經擁有的主要功能:
IOC:簡單POJO的注入
MVC:支持REST,支持Struts2(Xml)、SpringMVC3(Annotation)兩種風格的配置。支持攔截器、驗證器、JSP模板。
ORM:支持事務模板。自定義SQL。默認DAO實現。支持級聯操作。支持ORM映射。支持多數據源同時存在。
其他:配置文件幾乎無需開發者手寫,框架自動編寫,開發者只需填寫參數即可。即使填錯了也沒有關係,框架支持自動修復,保留備份。日誌完備。上述三大模塊可開啓或關閉。自由選擇。整個框架幾乎無任何侵入,對開發者代碼無任何污染。框架當前版本已較成熟。可以使用來開發應用了。

1.b.6.1
UpdateDAO的
int[] update(T... ts)方法修改爲
int[] batchUpdate(T... ts)
並且添加了一個
int update(T t)方法

1.b.6.2
當使用跳轉頁面形式來顯示驗證錯誤消息時,支持重定向和服務端跳轉兩種,當使用重定向時,錯誤消息保存在session中,當使用服務端跳轉時,錯誤消息保存在request中。前者能夠有效防止刷新重複提交的問題。
重定向:showValErr="redirect:xxx.jsp"
服務端跳轉:showValErr="forward:xxx.jsp"或者"xxx.jsp"

1.b.6.4 8-17
DAOFactory.getSelectDAO().selectWhere(Class<T> clazz, String condition) 改爲
DAOFactory.getSelectDAO().selectWhere(String<T> clazz, String condition,Object... args);
即支持sql佔位符?。
DAOFactory.getDivPageDAO().divPageByWhere(Class<T> clazz,int p, int n,String condition)改爲
DAOFactory.getDivPageDAO().divPageByWhere(Class<T> clazz,int p, int n,String condition,Object... args);即支持sql佔位符?;同時修復了這個方法的一個bug(當傳入p和n爲負數的時候報錯,修復爲不分頁)。



截圖:
這是Simportal項目截圖,名字含義:簡單實用的門戶系統
[img]http://dl.iteye.com/upload/attachment/538188/cff88e6e-aea0-3f29-acb9-99b827d6bba8.jpg[/img]

這是登陸界面,請忽略我們很年輕很脆弱的CF團隊。
[img]http://dl.iteye.com/upload/attachment/538190/1e3833c6-b807-328b-a2b0-cd4ae79551d2.jpg[/img]

這是後臺登陸成功之後的界面,採用DWZ,這是一個list列表。
[img]http://dl.iteye.com/upload/attachment/538192/ba21df44-1845-3120-a53f-b8109d491092.jpg[/img]

這是菜單管理裏的導航菜單管理,添加導航菜單
[img]http://dl.iteye.com/upload/attachment/538194/288b1f1b-613d-32af-bea7-9bef12ecaf05.jpg[/img]

這是添加樹形菜單,使用了DWZ的查找帶回和suggest列表
[img]http://dl.iteye.com/upload/attachment/538196/0b1b7cb9-19d4-3480-82ea-26fb6619feff.jpg[/img]

系統還實現了註冊,登陸驗證攔截器等功能,但是殘缺不全,目前整個系統基本架構已經搭建起來了。這次發出來主要是先作爲EWeb4j框架的一個Demo,當然,它一定會慢慢被完成的。它也將會作爲一個開源項目。我們的所有開源項目都將採用Apache2.0協議,商業友好。當然,現在發的這些還不能算是真正開源,因爲沒有協議文件,代碼也寫得一般,但是我們希望慢慢來,我們有耐心慢慢去完善,做我們喜歡做的事。

下載地址都在這裏:
[url]http://code.google.com/p/eweb4j/downloads/list[/url]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章