如果你想用开源框架来开发web项目,选择一套适用的组件是很关键的;

不光要考虑开发的简单,还要考虑日后的升级;

甚至足够充分的文档资料支持;还有现有团队的技术能力;以及项目时间等;

MVC:第一要素我个人觉得是要简单,因为在这个部分的中的代码量,通常相对后端是很多的;一个容易上手,并且大家都熟悉并且不讨厌;

           SpringMVC,我个人觉得是很完备的mvc,有着很強的灵活性,但正是这种灵活性,让很多人无所适从;

           Struts 1 标签很糟糕;form对象很别扭,繁琐的配置;

           Struts2 没有用过,如果他还有form我就不打算用;

学习springside(以前)使用Spring 的MultiActionController,减少了很多没有必要的配置;在一个controller里面可以写多个Action;MultiActionController还可以很灵活的从request中绑定Domain对象,非常的方便;

MultiActionController 加 Controller可以满足全部的需要;

JSP部分使用spring form tag;

Tiles 和 sitemesh; 考虑到使用Ajax,而sitemesh是利用filter来修饰;选择Tiles;

ORM用ibatis,当前最实用,简单的ORM;而且可以自动生成,又容易理解;何乐而不为;

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