S2SH简单介绍和理解

struts2简介
Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts2Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口;②Struts1Action 依赖于Servlet API而Struts 2Action不依赖于容器,允许Action脱离容器单独被测试;③Struts1支持每一个模块有单独的RequestProcessors(生命周期),但是模块中的所有Action必须共享相同的生命周期,而Struts2支持通过拦截器堆栈(InterceptorStacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。④struts同时支持配置国际化,让不同语言转换变得简单。
 
 
spring 简介
Spring是一个开源框架。它是为了解决企业应用开发的复杂性而创建的。本项目中使用spring主要是使用其IOC容器(即“控制反转”)来达到松耦合。在事务的处理上,我们也使用了SPRING来装配代理设置。SPRING还带来了AOP的编程支持,面向切面编程允许通过分离应用的业务逻辑与系统级服务(例如事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的“完成业务逻辑”仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。本项目中使用AOP的org.springframework.aop.framework.autoproxy自动创建代理来完成事务的代理。
 
 
hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。完成数据持久化的重任。在本项目中因为使用了hibernate持久化技术,故使用hibernateTransactionManager来完成事务管理。
 
 
S2SH集成框架简介
struts 负责 web 层ActionFormBean 接收网页中表单提交的数据,然后通过 Action 进行处理,再Forward 到对应的网页。
spring 负责业务层管理,即 Service (或 Manager). service 为 action提供统计的调用接口,封装持久层的 DAO。同时可以写一些自己的业务方法。Spring负责统一 javabean管理方法和声明式事务管理,最后spring来集成 Hiberante 。
Hiberante ,负责持久化层,完成数据库的 crud 操作,hibernate 为持久层,提供 OR/Mapping。 它有一组 .hbm.xml 文件和 POJO, 是跟数据库中的表相对应的。然后定义 DAO ,这些是跟数据库打交道的类,它们会使用PO 。
在 struts+spring+hibernate 的系统中,对象的调用流程是: jsp-> Action -> Service ->DAO ->Hibernate 。 数据的流向是 ActionFormBean接受用户的数据, Action 将数据从 ActionFromBean 中取出,封装成 PO,再调用业务层的 Bean类,完成各种业务处理后再 forward 。而业务层 Bean 收到这个 PO 对象之后,会调用 DAO接口方法,进行持久化操作

 

posted @ 2014-11-14 00:09  红尘客栈  阅读(418)  评论(0编辑  收藏  举报