struts2+spring+hibernate框架技术

struts2+spring+hibernate框架技术

ID:14483193

大小:3.87 MB

页数:39页

时间:2018-07-29

struts2+spring+hibernate框架技术_第1页
struts2+spring+hibernate框架技术_第2页
struts2+spring+hibernate框架技术_第3页
struts2+spring+hibernate框架技术_第4页
struts2+spring+hibernate框架技术_第5页
资源描述:

《struts2+spring+hibernate框架技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章初识S2SH第1章初识S2SH轻量级JavaEE技术以SSH为代表,即S(Struts)+S(Spring)+H(Hibernate)。2007年Struts的下一代产品Struts2诞生,Struts2是在Struts和WebWork的技术基础上进行的合并。S2SH指的是Struts2+Spring+Hibernate。1.1Struts2框架简介Apache的Struts2是一个优雅的、用于创建企业级JavaWeb应用程序的可扩展的框架。该框架旨在简化整个开发周期,从建设,部署及维护所用的时间。对于Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重

2、的问题。首先,Struts1支持的表现层技术单一。由于Struts1出现的年代比较早,那个时候还没有FreeMarker、Velocity等技术,因此它不可能与这些视图层的模板技术进行整合。其次,Struts1与ServletAPI的严重耦合,使应用难于测试。最后,Struts1代码严重依赖于Struts1API,属于侵入性框架。从目前的技术层面上看,出现了许多与Struts1竞争的视图层框架,例如,JSF、Tapestry和SpringMVC等。这些框架由于出现的年代比较近,应用了最新的设计理念,同时也从Struts1中吸取了经验,克服了很多不足。这些框架的出现也促进了Struts的发展。

3、目前,Struts已经分化成了两个框架:第一个是在传统的Struts1的基础上,融合了另外一个优秀的Web框架——WebWork的Struts2。Struts2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心的。Struts2为传统的Struts1注入了WebWork的先进设计理念,统一了Struts1和WebWork两个框架。1.1.1Struts2体系结构Struts2体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2的体系结构如图1-1所示。Struts2中大量使用拦截器来处

4、理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。Struts2框架的处理流程如下。l浏览器发送一个请求。l核心控制器FilterDispatcher根据请求决定调用合适的Action。lWebWork的拦截器链自动对请求应用通用功能,如验证等。l回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。lAction的execute方法的处理结果信息将被输出到浏览器中,支持多种形式的视图。41第1章初识S2SH图1-1Struts2体系结构1.1.2Struts2与Struts1经过6年多的发展,Struts1已经成为了一个高度成熟的框架

5、,不管是稳定性还是可靠性都得到了广泛的证明。其市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了其继续发展。Struts2对Struts1进行了巨大的改进,主要表现在如下几个方面。l在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。l线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。lServle

6、t依赖方面:Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象,这使程序难于测试。Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。l封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。l表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(ObjectGraphNavigationLanguage)。

7、l绑定值到视图技术:Struts1使用标准的JSP,Struts2使用ValueStack技术。l类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便地使用。l数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。lAction执行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。