Apache Struts:构建强大可维护Web应用的利器
1. 什么是Web应用
Web应用,即webapp,指的是用户界面托管在Web浏览器上的任何应用。可以将Web应用看作处于一个连续体上。连续体的一端是提供静态内容的Web应用,大多数网站都属于此类;另一端则是行为类似于普通桌面应用的Web应用。Struts在构建连续体右半部分的Web应用时非常有用。
如果要构建的Web应用几乎不需要用户输入、输入验证、数据访问、复杂业务规则或国际化支持,可能就不需要使用Struts。但如果这些需求中有部分或全部是必要的,那么应用使用Struts肯定会受益。
不过,Struts也不能完全满足连续体最右端的需求。像JavaServer Faces(JSF)和Ajax(异步JavaScript和XML)等新兴技术正试图解决这一不足。此外,有些Web应用可能需要多种技术协同工作,Struts可作为基础组件。例如,使用Enterprise JavaBeans(EJBs)处理业务逻辑,或使用Velocity等模板引擎处理文本。在大多数情况下,单纯的Struts就能完成工作。
2. Struts的作用
Struts由Craig McClanahan创建,起因是他要将一个以美国为中心的应用移植到欧洲,需要为应用提供Web界面并使其易于翻译成四种欧洲语言。因此,国际化是Struts特别擅长的方面,但它的功能远不止于此。
Struts为用户输入验证、错误处理和报告以及流程控制等提供了广泛的基础设施,这些都是构建Web应用的基础工作。根据经验,构建Web应用大约30 - 50%的时间(以及100%的繁琐工作)都围绕这些活动,而Struts能大幅减