请教各位--各种框架如何选择

现在各种框架满天飞,表现层的,逻辑层的,持久层的,作为应用为主的我实在不知道该如何选择,前一段只看了一个struts框架,感觉她的taglib好难用(可能是我还没有理解)。
各位大虾能指点一下各种框架的应用场合么?

还有:我想我们自己开发自己的框架么?思路是什么呢?

表现层框架Struts/Tapestry/JSF架构比较

这是有比较的,其他讨论基本都可以在Jdon论坛看到,讨论起来一大锣,业务逻辑层目前是EJB2/3 Spring 还有Jdon框架等;持久层有hibernate CMP/JDO等等,都是可以写一堆口水的。关键还是看自己应用,根据项目规模和完成进度要求选择合适架构 。

我看过“表现层框架Struts/Tapestry/JSF架构比较“觉得struts没有什么优势,tapestry我是第一次听到:0,感觉和.net的服务器端组件挺像的,
大虾们,您们如何根据自己的项目选择框架呢?
我总是看到文章说“根据自己的需求选择相应的东东“但是我是一个rrookie,不知道根据什么原则去选择,您们能用具体实例来讲述一下么?
谢谢,非常谢谢:)