定制化,方便进行二次开发。设计良好的web应用,可以被按职责分为四层。这些层次是表现层、持久层、业务层、和领域模型层。每一个层次都有其独特的职责,不能把各自的功能与其它层次相混合。每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。表现层一个典型的web应用的末端是表现层。WebWork的职责包括:管理用户的请求和响应提供一个控制起来将调用委托到业务逻辑和其他上游处理将来自于抛出例外的其他层的例外处理到WebWorkAction中组装可以在视图中表现的模型对象执行UI校验持久层一个典型Web应用的另一端是持久层。一个定制的,内部开发的持久层不仅需要大量的开发时间,通常还缺乏功能且难以管理。目前有许多解决这些问题的开源对象关系映射(ORM)框架。如Hibernate框架可允许Java中的对象-关系的持久性和查询服务。Hibernate对已经熟悉了SQL和JDBCAPI的Java开发者来说具有中度的学习曲线。Hibernate的持久对象基于POJO和Java群集(collections)。此外,使用Hibernate不和你的IDE接口。业务层典型的WEB应用的中间组件一般是业务层和服务层。业务层的职责如下:处理应用的业务逻辑和业务校验管理事务允许与其他层进行交互的接口管理业务级对象之间的依赖性加入了表现和持久层之间的灵活性,以便它们不需要彼此进行直接通信从表现层暴露上下文给业务层以获得业务服务管理从业务层到表现层的实现领域模型层领域模型层包含的是表达实际业务对象的对象,比如Student,Teacher,Unit等。这一层允许能让开发者不再构建和维护不必要的数据传输对象DTO来匹配其领域对象。例如,Hibernate允许你读取数据库信息到一个领域对象的对象图中,以便可以在离线的情况下将其表现在UI层中。这些对象可以被更新并跨过表现层发送回去,然后进行数据库更新。另