这两种都有struts的设计思想在内
前一种逻辑相对简单,效率也较高,但是扩展性比不上后者
后者比前者相对复杂.但是可扩展性跟高,模块独立性跟好.
如果你需要扩展性和维护性,选择后者,通常效率不是他们最主要的问题.
可扩展性和可维护性才是第一选择,除非有明显的效率问题.才需要考虑效率.如果你对struts熟悉的话,建议简化struts
使用java refelect技术建立一个servlet来作MVC的唯一 C(就像struts)
然后用简单java类建立M ,用jsp作为V.  
这样可以是你的架构具有和struts接近的可扩展性,同时效率更高.