实验一所做的项目是零件管理系统,我准备采用的是ssh框架。这学期刚接触SSH框架,对其还不是特别熟悉,正好借此次机会来深入的学习SSH。充分利用该框架的优点来达到本门课的实验要求。
SSH框架介绍:
SSH框架是struts+spring+hibernate的集成web应用开发框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的web应用程序。这三部分的主要分工为:使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对提供支持,Spring做管理,管理struts和hibernate。SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate
使用struts可以实现程序MVC的体系结构。Struts对Model,View和Controller都提供了对应的组件。
1 Model:主要由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求,将其封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。
2 View:该部分采用JSP和HTML实现。利用Struts丰富的标签库,来可以减少在jsp中脚本的使用和处理业务逻辑的程序代码,实现与Model的有效交互,将用户的请求传给model,并输出显示用户想要的结果,实现人机交互。
3 Controller:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器即strucs中的ActionServlet,负责拦截来自用户的请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使我们可以使用对象编程思维来操纵数据库。使用hibernate的优点:1 使用简介的hql语句,减少了对数据库操作的复杂度。2.使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,直接由对象映射到表,再次体现了面向对象思想。3.没有侵入性,移植性比较好。4.支持透明持久化。三层架构的理念是上层对下层的依赖,只是依赖接口不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。
Spring在SSH框假中充当了管理容器的角色。Spring有两大特点即 1 控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。2 依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注入到组件之中 。Spring容器控制所有Action对象和业务逻辑类的生命周期,使上层不再控制下层的生命周期,层与层之间实现了完全脱耦,使程序运行起来效率更高,维护起来也方便。
总而言之,我认为使用SSH框架可以满足软件体系结构所要求的质量战术,最终到达实验目的。