预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于SSH架构模式的应用开发MVC架构模式的简单介绍。 Struts工作原理及实例开发。 Spring实例开发。 Hibernate数据库持久层技术。MVC是Model-View-Controller的缩写,中文翻译为“模式-视图-控制器”。MVC是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,让视图层更富于变化。 MVC的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model和View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图用于显示,同时它也可以解释用户的输入并将他们映射为模型层可执行的操作。 图1.1MVC的工作原理低耦合性。 高重用性和可适用性。 较低的生命周期成本。 快速的部署。 可维护性。 有利于软件工程化管理。 MVC的缺点: 由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划由于它的内部原理比较复杂,所以需要花费一些时间去思考。Jsp+Servlet+JavaBean。 Jsp+Struts+JavaBean。 SSH(Struts+Spring+Hibernate)。 Jsp+JavaBean(Controller)+JavaBean(Model)。Struts是Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好的帮助Java开发者利用J2EE开发Web应用。Struts框架的核心是一个弹性控制层,基于如JavaServlets、JavaBean、ResourceBundles和XML等标准技术,以及JakartaCommons的一些类库。 Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据库访问技术相结合。在视图层,Struts能够与JSP(包括JSTL和JSF)、Velocity模板、XSLT及其他表示层技术完美结合。Struts的体系结构包括模型(Model),视图(Views)和控制器(Controller)三部分。如图2.1所示: 图2.1Struts的体系结构模型(Model) 在Struts的体系结构中,模型分为两个部分:系统的内部状态和可以改变的状态的事务逻辑。内部状态通常由一组ActionFormBean表示。这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。 视图(View) 视图主要由JSP建立,Struts包含扩展自定义标记库,可以简化创建完全国际化用户界面的过程。目前的标记库包括BeanTags、HTMLtags、LogicTags、NestedTags以及TemplateTags等。 控制器(Controller) 在Struts中,基本的控制器组件是ActionServlet类的实例servlet,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。对于业务逻辑的操作则主要由Action、ActionMapping与ActionForward这几个组件协调来完成,其中Action扮演真正的业务逻辑的实现者,ActionMapping与ActionForward则指定了不同业务逻辑或流程的运行方向。整个Struts大约由15个包,近200个类所组成,而且数量还在不断的扩展。目前StrutsAPI中几个基本的组件包包括action、actions、config、util、taglib、validator等。 表2.1StrutsAPI中几个基本的组件包 Struts的优点有: Struts与Tomcat、Turbine等诸多Apache项目一样,是开源的软件,这是它的一大优点,使开发者能更深入地了解其内部的实现机制。 Taglib和页面导航。其中Taglib是Struts的标记库,灵活使用能大大提高开发的效率。关于页面导航,将是今后的一个发展方向,使系统的脉络更加清晰。 Struts的缺点有: 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图、控制器分离,降低运行效率。 视图与控制器间的过于紧密的连接。视图与控制器应试相互分离的,某些过于紧密的连接妨碍了它们的独立重用。 视图对模型的低效率访问。