Spring是个轻量级J2EE框架,它解决了许多在J2EE开发中常见的问题。 Spring实现了强大的IOC容器作为其框架底层的基础。
Spring提供数据访问抽象,包括简单和有效率的JDBC及Hibernate、ibait等其他O/R mapping解决方案。
Spring提供AOP支持以及对AspectJ的集成,使用者可以利用Spring AOP实现面向切面编程。
Spring提供了一个webMVC的框架,充分利用了spring提供的各种特性,极大的提高了开发效率。
除此之外Spring还提供一些列辅助模块,如资源,Bean校验,数据绑定,测试辅助类等。
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的几年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个不错其有一定时间长度的应用框架。
SiteMesh是套网页布局与装饰框架,能做为web应用的集成框架来辅助创建那些包含了大量页面且要求有统一的外观、导航和布局方案的大型站点。