SSH中个框架的作用 程序员

Struts:

1、管理用户的请求和响应。

2、提供一个控制器来讲调用委托到业务逻辑和其他上游处理

3、将来自抛出例外的其它层的例外处理到Struts Action中

4、组装可以再视图中表现的模型对象

5、执行UI校验

下面是一些Struts常进行的编码,但是不是应该和表现层关联的事情

(1)直接与数据库交互,比如JDBC调用

(2)与应用相关的逻辑和校验

(3)事务管理

*注:在表现层引入这些代码将导致类型耦合和维护的负担!

Hibernate

*Hibernate属于持久层,允许JAVA中的对象-关系的持久性和查询服务。

1、查询关系信息到对象中。Hibernate是通过称为HQL的OO查询语言(HQL非常类似SQL)

2、存储、更新和删除存数在数据库中的数据

3、高级的对象关系映射框架比如Hibernate支持大部分主流SQL数据库,他们支持父/子关系,事物、继承、多态。

*下面是应该避免在持久层的一些事情:

(1)业务逻辑应该置于应用的更高层中,这里只允许数据访问方法。

(2)不应该使持久逻辑和表现逻辑耦合。避免表现组件如JSP或者基于servlet的类中的逻辑直接和数据访问通信。通过将持久逻辑隔离在其自己的层中,应用将具有更将灵活的修改性而不影响到其它层的代码。例如,Hibernate可以使用其他持久框架和API代替,而不需要修改其他层中的代码。

Spring

1、处理应用的业务逻辑和业务校验

2、管理事务

3、允许与其它层进行交互的接口

4、管理业务及对象之间的依赖性

5、加入了表现和持久层之间的灵活性,以便他们不需要彼此进行直接的通信

6、从表现层暴露上下文给业务层以获得业务服务

7、管理从业务层到表现层的实现

原文地址:https://www.cnblogs.com/sallon/p/2872693.html