admin 管理员组文章数量: 887021
2024年1月12日发(作者:select查询语句是哪几个)
2011年4月 电 脑 学 习 第2期 基于MVC模式的SSH开发技术 .陈雪娟 摘 要:随着网络技术的迅速发展以及先进软件平台JZEE的广泛采用。墓于MVC开发模式的多层Web应用已成为主涑。而相 应的SSH(Struts+Spring+Hibernate)框架也引起了学术领域和应用开发领域的广泛关注。SSH框架采用分层及模块化 设计.使系统具有较高的智能性、协作性 可蔓用性和可扩展性。 关键词:MVC模式:Struts;Spring;Hiebrnate 中图分类号:TP393 文献标识码: A 文章编号:1002—2422(201 1)02—0137—03 SSH Development Technique Based On MVC:Pattern Chen Xuejtmn Abstract:With the rapid development of network technology and widespreading adoption of advanced software platform JZEE, multi—tier web applications based on MVC development model】have become mtu’nstream.At the salne time.the c0 responding SSH framework has attracted wide attention of academic field and the field of application development. SSH framework USeS hierarchical and modular design,which makes the system has higher intelligence,collaboration, reusability and scalability. Key words:MVC Pattern;Struts;Spring;胁bemate 1 MVC结构模式 MVC(Model-View—Controller),即由模型、视图、控制 器三种部件组成【I】。 墼 臂 模型部件独立于具体的界面表达和I/O操作,所处理 I通知视图改变 I 问题逻辑独立于外在形式的内在抽象,封装了问题的核心 数据、逻辑和功能的计算关系。 解释模型 释模星L地璺 定义应用程序行为 模型更新要求 l 用户请求 用户动作映射成模型更新 视图部件把模型数据表示、逻辑关系和状态的信息及 发送用户输入给控制器f…………’ 选择响应的视图 特定形式展示给用户。也就是从模型获得显示信息,并可以 允许控制器选择视图 l 用多个不同的显示形式或视图显示相同的信息。 ——+方法调用 ……一事件 控制器部件用于用户与软件的交互操作,其职责是检 图1 MVC部件类型的关系和功能 测和控制模型中任何变化的传播,使得用户界面与模型间 逻辑控制,Spring提供对 Strum和Hibernate的集成并负责 的联系对应起来;同时将用户的输入反馈给模型,并且实现 业务对象的生命周期管理、事务控制管理,Hibernate负责数 对模型的计算控制,是使模型和视图协调工作的部件。通常 据持久化。 一个控制器控制一个视图。 2 Strum、Spring和Hibernate(SSH)技术 模型、视图与控制器的分离,使得可以用多个显示视图 2.1 Struts 来显示一个模型。如果通过某个视图的控制器改变了模型 Struts是一个在JSPModel基础上实现的MVC框架,其 的数据,其它依赖于这些数据的视图都应可以反映到这些 主要的设计理念是通过控制器将表现逻辑和业务逻辑解 变化。因此,无论何时发生了何种数据变化,控制器都会控 耦,以提高系统的可维护性、可扩展性和可用性/-21。Struts2.0 制所有的视图,导致显示的更新。 框架的体系结构在响应客户请求时,各个部分工作的原理 MVC部件类型的关系和功能如图1所示。 如图2所示 一个好的分层式结构,可以使得开发人员的分工更加 一个请求在Struts2.0 框架中的处理大概分为以下几个 明确。一旦定义好各层次之间的接口,负责不同逻辑设计的 步骤: 开发人员就可以各自关注,齐头并进。每个开发人员的任务 (1)客户端提交一个(Http8eⅣletRequest)请求。 得到了确认,开发进度就可以迅速提高。 (2)请求被提交到一系列(主妻是三层)的过滤器(F讧_ 在软件开发中,引入MVC思想,并将此Web应用分为 )1I如ActionContextCleanUp,其他过滤器(SiteMesh等)、Fd_ 视图层、控制层及模型层。此外,采用Struts+Spring+Hiber- terDISpatcher。注意:这里是有顺序的,先是AcfionCon- nate(SSH)框架进行开发,由Struts负责前台页面的展示和 textCleanUp,再其他过滤器(othterFihem,SiteMesh等),最后 收稿日期:2011—04一l8 ・陈雪娟肇庆科技职业技术学院助教(广东,肇庆526100)一
JlHttpServ}etRequestl , 件。Spring框架的结构如图3所示。 ●ActionContcxtCleanUp Other fihers(SiteMesh,etc) FiherDispatcher ● t 【 l ‘ d0er'foxy I AcifonMapper i。“I I stnns. I nvocation MguratlIanager l工 ConfAction IResult H IiIntere- ptorrl2  ̄I -,- ..I Teg Subsystem 圜圈国圈 [二 匦 二] 图3 Spring框架结构图 图4 Hibemate工作原理 Templ1^J.ate Spring框架由七个定义明确的模块组成,且每个模块 或组件都可以单独存在,或者与其他一个或多个模块联合 实现。SpringCoreContainer是一个用来管理业务组件的IoC 容器,是Spring应用的核心;构建于Core封装包基础上的 Context封装包,提供了_种框架式的对象访问方法,有些像 JNDI注册器;SpringDAO和SpringORM不仅提供数据访问 的抽象模块,还集成了对Hibernate、JDO和IBatis等流行的 L HttpServletResponse卜 图2 Struts2.0工作原理 到FilterDISpateher。 (3)FiherDispateher是控制器的核心。FilterDISpatcher 询问ActionMapper是否需要调用:某个Action来处理这个 (HttpservletRequest)请求,如果ActionMapper决定需要调用 某个Action,FilterDISpatcher则把请求的处理交给Action— Proxy・ 对象关系映射框架的支持模块,并且提供了缓冲连接池、事 务处理等重要的服务功能,保证了系统的性能和数据的完 整性;Spring的AOP封装包提供了符合AOP 1iance规范 (4)ActionProxy通过ConfigurationManager(Struts.xm1) 询问框架的配置文件,找到需要调用的Action类。 (5)ActionProxy创建一个 ̄Aetionlnvocation实例,同时 Actionlnvocation=通过代理模式调用Action。但在调用之前, .的面向方面的编程实现『31;SpringWeb模块提供了web应用 的一些抽象封装,可以将Struts、Webwork等wleb框架与 Spring整合成为适用于自己的解决方案 Spring中的MVC Actionlnvoeation会根据配置加载Action相关的所有Inter- , 封装包提供了web应用的MVC实现。 Spring框架可以成为企业级应用程序一站式的解决方 ceptor(拦截器)。 (6)一旦Action执行完毕,Aetlonlnvocation负责根据 Struts.xml中的配置找到对应的返回结果result。 在上述过程中所有的对象(Action。ResultS,InterCeptors 案,同时也是模块化的框架,允许开发人员自由地挑选适合 自身应用的模块进行开发。Spring框架是一个松耦合的框 架,框架的部分耦合度被设计为最小,在各个层次上具体选 用哪个框架取决于开发者的需要。 2.3 Hibernate 等1都是通过 objectFactory来创建的。 2.2 Spring Spring是一个解决了许多J2EE开发中常见问题并能 Hibernate是目前最为流行的ORM(对象供系映射)框 架,在关系型数据库和Java对象之间做了个自动映射,使得 够替代EJB技术的强大的轻量级框架 这里所说的轻量级 指的是Spring框架本身,Spring的轻盈体现在其框架本身 的基础结构以及对其他应用工具的支持和装配能力。与 EJB相比,Spring可使程序研发人员把各个技术层次之间的 风险降低。 Spring框架的核心是控制翻转IoC(Inversion of Contro1) 程序员可以非常简单的方式实现对数据库的操作 。Hi- bemate 3-作原理如图4所示 Hibernate通过对JDBC的封装,向程序员屏蔽了底层 的数据库操作,使程序员专注于面向对象程序的开发,有助 于提高开发效率。程序员访问数据库所需要做的就是为持 依赖注入DI(Dependence Injection)机制。IoC是指由容器 久化对象编制xml映射文件 底层数据库的改变只需要简 单地更改初始化配置文件(hibernate.Cfs.xm1.或者hibemate. properties)[ ̄可,不会对应用程序产生影响。 中控制组件之间的关系(这里,容器是指为组件提供特定服 务和技术支持的一个标准化的运行时的环境)而非传统实 现中由程序代码直接操控,这种将控制权由程序代码到外 部容器的转移,称为“翻转”。DI是对IoC更形象的解释,即 由容器在运行期间动态地将依赖关系(如构造参数、构造对 Hibernate有自己的面向对象的查询语言HQL,HQL功 能强大,支持目前大部分主流的数据库,如Oracle ̄DBZ、 MySQL、MierosoftSQLServer等 是目前应用最为广泛的ORM bemat ̄为快速开发应用程序提供了底层的支持。 象或接口)注入到组件之中。Spring采用设值注入(使用Set- 工具。Hiter方法实现依赖)和构造子注入(在构造方法中实现依赖)的 3基于MVC的 SSH开发设计 机制,通过配置文件管理组建的协作对象,创建可以构造组 系统应用框架根据MVC模式分为视图层、控制层和模 型层,各层之间都定义了数据对象,实现了各层之间的分 离;另外充分考虑了各业务模块之间的松耦合,为今后系统 件的IoC容器。这样,不需要编写工厂模式、单例模式或者 其他构造的方法,就可以通过容器直接获取所需的业务组
201 1年4月 电 脑 学 习 第2期 如何部署Sybase ASA 8个人数据库服务器 林克成 王寅龙 李志祥 摘 要:数据库应用项目的后期井发步骤之一是部署应用软件给最终用户。一般需要同时部署的部件有数据库管理软件、数据 库文件和编制的应用程序等。如果数据库与应用程序的连接采用ODBC方式.还要配置ODBC连接信息.以便应用程 序能够与数据库交互。以Sybase!ASA 8为例。介绍三种部署个人数据库服务器的方法。介绍动态配置ODBC连接的常 用方法。 关键词:部署:sybase ASA;ODBC 中图分类号:TP392 文献标识码: A 文章编号:1002-2422(201 1)02—0139—02 How to Deploy the Sybase ASA 8 Personal Database Server Lin Kecheng Wang Yinlong Li Zhlxiang Abstract:One of the later stages of the database application developments is deploying the software to the final users.Gener- ally,the corresponding diitabase management software,database files and application software should to be deployed simultaneously.If the connection method of database with application software is ODBC,the ODBC Configuration sh- ould also be given.In this thesis.three methods to deploy the Sybase ASA 8 Personal Database Server are proposed. the general ways to dynamically co g the ODBC parameters are alos involved. Key words:Deploy;Syba ̄AS ODBC Sybase Adspfive Server Anywhere 8(简称Sybase SAS 部署Sybase ASA 8个人数据库服务器呢?文中以Windows 8)是Sybase公司2002年发布的技术领先、功能强大、具有 平台为例给出三种部署方法。 Web功能的数据库管理系统。针对不同用户群,Sybase提供 1使用Instal1Shield部署 了两个不同版本的数据库服务器:个人数据库服务器和网 在使用InstallShield 6或更高版本时,可使用SQL 络数据库服务器。个人数据库服务器是为单个用户在同一 Anywhere Studio InstallShield对象项目。用于部署客户端、 台计算机上使用而提供的,例如作为嵌入式数据库服务器, 个人数据库服务器、网络服务器和管理工具的项目分别位 还适用于开发工作;网络数据库服务器除了具有个人服务 于SQL Anywhere目录下的deploymen【、0biect目录中。对 器的各项功能外,还支持网络上的客户用艮务器应用。个人 象项目允许生成对象,通过使用这些对象可以部署当前安 数据库服务对于中、小型应用非常有用,对于数据量较少, 装在计算机上的软件。 单机运行的应用程序,选用Sybase ASA 8的个人数据库服 在使用InstallShield 5.5或更高版本时,可使用SQL 务器功能是一个不错的选择。那么,应用开发完成后,如何 Anywhere Studio InstallShield模板项目来降低部署工作 扩展集成提供了可能。同时利用这种分层设计将Struts、 DAO实现,并以之为基础,实现Java类与数据库之间的转换 Spring和Hibernate三种开发框架有机地集成在一起。 和访问,最后由Spring来完成业务逻辑处理。 综上,详细分析了Struts、Spring与Hibernate各自的优 4结束语 势之后,接下来将着手如何将这三个框架有效地集成在一 通过分析MVC思想,使用Stru.ts+Spring+Hibemate(S— 起。Sturts框架有成熟的标签库,所以Web层主要由truts框 SH)框架将核心数据访问功能从表示层和业务逻辑层中分 架实现;而Spring框架同Struts框架能够完美的结合,并且 离出来。因而分离使得多种视图可以共享相同的数据模型, 在事务管理和依赖注入方面有着独到之处,因此主要用于 这样就更容易对多个客户达到实现藕j维护目的。 业务逻辑层;在数据持久层方面主要采用Hibernate,实现 参考文献! ORM即ping,对JDBC进行了轻量级的对象封装,建立Java 【l J杜爱华.MVC模式在系统框架设计中的研究与应用【D1.西安: 对象模型的持久化对象。 西安建筑科技大学,2005. 集成三种框架的方法是利用Struts架构作为系统的整 [21 James Holmes-Struts:The Complete Reference[J1.Mcgraw—HiV 体基础架构,负责MVC的分离,而在Struts架构的模型部 0sbome Medi8.2004(7). 分,利用Hibemate架构来提供持久层支持,业务层则使用 [3刘行亮.基于J2EE平台的Spr31ing框架分析研究与应用【D】.武 Spring来支持。具体做法是运用面向对象的分析方法并根据 汉:武汉科技大学,2006. [4】孙卫琴.精通Hibernate:Java对象持久化技术详解【M】.北京:电 需求来提出一个摸型,将这些模型采用Java语言构建基本 子工业出版社,2005—05. 的Java对象;然后写出基本的DAO接口,给出Hibernate的 收稿日期:201t-03-25 林克成军械工程学院计算机工程系讲师(河北,石家庄05oo03)。
版权声明:本文标题:基于MVC模式的SSH开发技术 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705049543h471204.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论