S2SH简介
struts2简介
Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口;②Struts1 Action 依赖于Servlet API而Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试;③Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期,而Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个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 接口方法,进行持久化操作。
S2SH简介的更多相关文章
- 1JavaEE应用简介----青软S2SH(笔记)
这本书主要是讲解Struts2,spring,Hibernate框架的, 因为工作中用的较多的是SpringMVC,Struts2用的较少,所以想系统学习一下,就买了这本书. 这本书是青软的,虽然是培 ...
- S2SH简单介绍和理解
struts2简介 Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts2Action ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
随机推荐
- 传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
1.TCP连接的建立和终止 1)三路握手 客户端发送一个SYN(同步)分解,告诉服务器客户将在连接中发送的数据的初始序列号. 服务器发送确认客户的SYN(ACK),同时自己也得发送一个SYN分节,它含 ...
- javascript之Dorm
一.document.getElementById() 根据Id获取元素节点: <div id="div1"> <p id="p1"&g ...
- 删除ubuntu后无法进入windows
一天,脑袋一热想装个ubuntu学习学习,结果装的ubuntu版本比较老,没有集成我笔记本的网卡驱动,在ubuntu下上不了网,心想上不了网学习起来不是很不方便,于是就直接在win7下将ubuntu的 ...
- 写了好多次SSH现在对于框架还是有一定的基础了,但是对于框架下我们该如何进行操作呢???
首先,对于一个老手来说,我们最快捷的就是ctrl+c和ctrl+v,但是我们自己应该复制哪一些代码呢? 1.在我们导完包之后,我们需要写的就是web.xml,在其中,我们要有过滤器及映射和监听器. w ...
- 邮件中继成畅邮标配 U-Mail为何领先
中国力推“一带一路”战略,为首成立“亚投行”,越来越多的中国企业酝酿走出去.在企业间的商务往来中,电子邮件将扮演着重要角色,但是因为要跨洋 过海,各国互联网环境和法律法规有所区别,面临着种种变数,对方 ...
- 安装好oracle后,打开防火墙遇到的问题!
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT -A INPUT -j REJECT --reject-with ...
- C# Graphics类详解
转自于:http://blog.163.com/gis_warrior/blog/static/19361717320119227034181/ Brush 类.NET Framework 4定义用于 ...
- scala 学习之: list.fill 用法
题目描述: Decode a run-length encoded list. Given a run-length code list generated as specified in probl ...
- CRC16 三种算法及c实现
标准CRC生成多项式如下表: 名称 生成多项式 简记式* 标准引用 CR ...
- Ubuntu 15.10搭建IPSec L2TP服务器
以下步骤完全使用于Ubuntu 14.04版本 首先安装以下所需包 sudo apt-get install openswan xl2tpd ppp lsof!注意!Ubuntu 15.10会提示无法 ...