不光要考慮開發(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è)Action;MultiActionController還可以很靈活的從request中綁定Domain對(duì)象,非常的方便;
MultiActionController 加 Controller可以滿足全部的需要;
JSP部分使用spring form tag;
Tiles 和 sitemesh; 考慮到使用Ajax,而sitemesh是利用filter來(lái)修飾;選擇Tiles;
ORM用ibatis,當(dāng)前最實(shí)用,簡(jiǎn)單的ORM;而且可以自動(dòng)生成,又容易理解;何樂(lè)而不為;
FullTextSearch: compass + lucene;
Others:ActiveMQ + ApacheCXF
Form/Ajax Request > Controller > Manager/Service > GenericDao
其他輔助工具:
EMS for mysql;
SVN as version control;
DB/web server:mysql/resin