最近学习ssh整合的内容,感觉每个内容大体有了初步的了解,也简单的知道了每个是干嘛用的,但是具体实践起来还是分不好每一层次,于是,又看了看书,简单的总结了一下:
通常情况下商业系统被划分为4个层次:表示层,持久层,业务层,域模型层。
一、表示层:
Struts所应该提供的功能:
1、管理用户的请求和响应
2、提供一个控制器负责调用业务逻辑的处理方法以及其他处理
3、处理其他层次抛出到Struts Action的异常
4、组装一个可以被呈现在视图(View)中的模型(Model)
5、执行表示层校验
下面所列举的是一些经常被放置在Struts中的处理功能,但这些功能不应该被放置在表示时候用的是对象
1、直接访问数据库,例如JDBC来进行
2、进行业务逻辑处理和与应用相关的校验
3、事物管理
二、持久层:
持久层所应该包括的具体功能:
1、查询相关的信息并保存到Java对象中,Hibernate是通过面向对象的查询语言——HQL或者通过使用Criteria表达式来实现的。HQL和SQL非常相似,他们之间的区别在于,HQL使用的是对象和属性来代替SQL语句中的表和列
2、保存、更新和删除存储在数据库中的信息
3、像Hibernate这样的高级的ORM框架已经支持了全部的主流数据库,并且他提供了父子关、事务、继承和多态等功能。
应避免出现在持久层中的:
1、业务逻辑应该放置在web应用的更高一层中,在这一层只允许数据的访问。
2、不应该将表示层的逻辑处理与持久层的逻辑处理相混合。要避免在表示层的组件(如jsp或servlet)中直接访问数据库。通过将持久层的业务处理放置在持久层中。
三、业务层:
Spring框架重点,业务层处于表示层和持久层之间,要完成的功能是业务逻辑的处理工作。它既要调用持久层的方法来完成数据的持久化和查询工作也要将业务方法暴露给表示层,以便表示层的调用。
业务层所应该包括的具体功能:
1、处理业务逻辑和进行业务判断
2、事务管理
3、通过使用接口和其它层交互
4、管理业余层对象的依赖性
5、可以增加表示层和持久层的灵活性,使他们之间不会有交互
6、实现一个业务的上下文,以便于表示层可以调用业务层的服务
7、管理持久层的实现
四、域模型层:
包括了真实世界种的业务对象。
web应用体系结构
最新推荐文章于 2024-02-25 17:21:28 发布