« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| |

纵然生来是为了等待死亡,还是要用双眼见证自己的时代 |
统计 |
blog名称:实践出真知 日志总数:72 评论数量:158 留言数量:4 访问次数:471439 建立时间:2005年9月14日 |
| |
[Java]《Spring Live》作者Matt Raible访谈录(from Jdon) 软件技术
暂时流浪 发表于 2005/10/9 23:34:41 |
如果你学完了JSP/Servlet、JavaBean,面对满天飞的所谓框架不知如何选择,请看看这段文字。
来源
TSS上星期刚安排了主导 Struts+EJB架构的《J2EE 最佳实践》作者Darren Broemmer访谈录,这周就安排了主导Struts+Spring+Hibernate的Spring Live》作者Matt Raible的访谈录,这两本书作者可谓是两大门派中坚力量,让我们从他们的对话中看看他们对这两种技术的评价:因为Struts+Spring+Hibernate架构位于J2EE Web层,所以主导了开源项目AppFuse的Matt Raible又被称为Web框架专家,当然我们可以称Darren Broemmer为EJB专家了。Matt Raible最早在2001年开始使用Struts,然后开始接触Spring, WebWork,现在又开始钻研Tapstry和JSF,因为他认为Web组件Components概念是下一个发展重点,Matt Raible觉得Struts好像是Web框架家庭中的私生子,因为他是第一个出生的,它比Servlet/Jsp要好多得多,Matt Raible很喜欢Struts,虽然Struts有丑陋的ActionForm,虽然WebWork比它更简单,使用Struts基本只需关注表现层,可以和其它中间层完全分离,有自己独立的出错处理机制、Message机制等。Matt Raible认为现在Web框架有两种主要类型:Struts、Spring 和 WebWork类型,这类基于Request,开发者是可能直接和Servlet API打交道;而以JSF和Tapestry为主要代表的则是基于组件的框架,他们隐藏了Servlet API,开发者可能看不到Servlet API,更别说和他们打交道了。而JSF和Tapestry有所不同的是: JSF从组件中推出Html(基于JSP推出Html原理);而Tapestry则是直接基于Html(Tapestry没有JSP概念,只有动态Html,banq注)JSF 对于Struts应用者来说更容易接受,它做了很多与Struts相同的事情, 页面导航都是使用XML配置实现,你可以映射某个action或一个按扭到一个页面,Tapestry 更加类似Swing,你要抓取一个页面然后激活它,所有导航功能都是使用代码而非XML,Tapestry类似他的座右铭,使事情更简单、更容易,JSF似乎是IDE工具商更支持一些,这就非常不幸了。Matt Raible还谈了其它Web框架Velocity 和 Freemarker 等模板的特点,以及页面装饰框架方面:Tiles和SiteMesh等不同表现。Matt Raible还谈了Spring和它的APPFuse开源项目,他认为Spring MVC没有Struts流行不是如传说中那样没有经过实战检验,而是因为Spring MVC虽然和Struts同时诞生,但是正是推出时间上迟了很多,导致市场被Struts占领。他介绍了AppFuse如何防止两次提交等问题。Matt Raible认为Spring重要优点是IOC实现,它自动解决了组件之间的依赖;还有Spring提供的事务,在这之前开发者只有选择使用EJB中 CMT,否则自己处理事务是非常困难痛苦的一件事情,使用Spring的提供的事务机制就比较方便,而且它的JDBC模板比较简单易用。最后Matt Raible介绍了在Web领域一些激动人心的新技术,如rubyonrails.com, 它是一个Ruby based web framework ,它为你将每个事情都做好,都有缺省实现,这样,只要你定义好一个Model对象,其它一切就都出来了。 |
|
|