如果你想用開源框架來(lái)開發(fā)web項(xiàng)目,選擇一套適用的組件是很關(guān)鍵的;

不光要考慮開發(fā)的簡(jiǎn)單,還要考慮日后的升級(jí);

甚至足夠充分的文檔資料支持;還有現(xiàn)有團(tuán)隊(duì)的技術(shù)能力;以及項(xiàng)目時(shí)間等;

MVC:第一要素我個(gè)人覺得是要簡(jiǎn)單,因?yàn)樵谶@個(gè)部分的中的代碼量,通常相對(duì)后端是很多的;一個(gè)容易上手,并且大家都熟悉并且不討厭;

           SpringMVC,我個(gè)人覺得是很完備的mvc,有著很強(qiáng)的靈活性,但正是這種靈活性,讓很多人無(wú)所適從;

           Struts 1 標(biāo)簽很糟糕;form對(duì)象很別扭,繁瑣的配置;

           Struts2 沒(méi)有用過(guò),如果他還有form我就不打算用;

學(xué)習(xí)springside(以前)使用Spring MultiActionController,減少了很多沒(méi)有必要的配置;在一個(gè)controller里面可以寫多個(gè)ActionMultiActionController還可以很靈活的從request中綁定Domain對(duì)象,非常的方便;

MultiActionController Controller可以滿足全部的需要;

JSP部分使用spring form tag

Tiles sitemesh 考慮到使用Ajax,而sitemesh是利用filter來(lái)修飾;選擇Tiles

ORMibatis,當(dāng)前最實(shí)用,簡(jiǎn)單的ORM;而且可以自動(dòng)生成,又容易理解;何樂(lè)而不為;

FullTextSearch compass + lucene

OthersActiveMQ + ApacheCXF

Form/Ajax Request > Controller > Manager/Service > GenericDao

其他輔助工具:

EMS for mysql

SVN as version control

DB/web servermysql/resin