SSH毕业设计实习报告_第1页
SSH毕业设计实习报告_第2页
SSH毕业设计实习报告_第3页
SSH毕业设计实习报告_第4页
SSH毕业设计实习报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业实习报告二 O一四年四月评定意见毕业实习成绩:指导教师对毕业实习的评语:指导教师(签章):2014年4月1日毕业实习指导小组的评定意见:教学院长(签章):系主任(签章):2014年4月3日SSH毕业设计实习报告实习地点:J13-428 实验室实习时间:2014年 3 月 4 日3 月 31日由于本次毕设打算采用 J2EE技术做一个基于 B/S 架构的智能小区系统,为了提高系统的可维护性,使系统更加具有层次性以及满足以后需求的变更,我决定采用 Struts2+Hibernate+Spring 进行开发。因此在这为期一个月的时间里,我学习了 SSH框架的原理、整合和使用。下面是我对SSH框架的

2、学习收获。1. Struts2+Hibernate+Spring简介学习过编程开发的人都应听过框架这个名字,所谓的框架是指整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性。J2EE复杂的多层结构决定了大型的 J2EE项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、开源的基于 J2EE的应用框架,其中主流的框架技术有:基于 MVC模式的 Struts 框架和基于 IoC 模式的 Spring 框架以及对象 / 关系映射框架 Hibernate 等。(1)表示层框架 Struts

3、2Struts2 是一个在 JSP Model2 基础上实现的 MVC框架,主要分为模型 (Model) 、视图 (Viewer) 和控制器 (Controller) 三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。 Struts2 框架的体系结构主要分为:1)视图:视图部分主要由 JSP页面组成,其中没有流程逻辑、业务逻辑和模型信息,只要标记。 Struts 自身包含了一组标记库 (TagLib) ,这也是 Struts的精华之一,灵活运用它们可以简化 JSP页面的代码,提高开发效率。2)控制器: Struts 中的 Controlle

4、r 主要是其自身提供的ActionServlet。 ActionServlet接收所有来自客户端的请求并根据配置文件(struts-config.xml)中的定义将控制转移到适当的Action 对象。3)模型: Struts 没有定义具体 Model 层的实现, Model 层通常是和业务逻辑紧密相关的,有持续化的要求。目前在商业领域和开源世界,都有一些优秀的工具可以为 Model 层的开发提供便利。(2)业务逻辑层框架SpringSpring 是一个解决了许多 J2EE开发中常见问题并能够替代 EJB技术的强大的轻量级框架。这里所说的轻量级指的是 Spring 框架本身,而不是指 Sprin

5、g 只能用于轻量级的应用开发。 Spring 的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与 EJB这种庞然大物相比,Spring 可使程序研发人员把各个技术层次之间的风险降低。Spring 框架的核心是控制翻转 IoC(InversionofControl)/依赖注入 DI(DependenceInjection) 机制。 IoC 是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。 DI 是对 IoC 更形象的解释,即由容器在运行

6、期间动态地将依赖关系 ( 如构造参数、构造对象或接口 ) 注入到组件之中。 Spring 采用设值注入 ( 使用 Setter 方法实现依赖 ) 和构造子注入 ( 在构造方法中实现依赖 ) 的机制,通过配置文件管理组建的协作对象,创建可以构造组件的 IoC 容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。(3)数据持久层框架HibernateO/R mapping 技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。 Hibernate 是目前最为流行的O/Rmapping 框架,它在关系型数据库和 Java 对象之间做了一

7、个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。 Hibernate 通过对 JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于 OO程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制 xml 映射文件。底层数据库的改变只需要简单地更改初始化配置文件或者 perties) 即可,不会对应用程序产生影响。 Hibernate 有自己的面向对象的查询语言 HQL, HQL功能强大,支持目前大部分主流的数据库,如 Oracle 、DB2、MySQL、 Microsoft SQL Server 等,是目前应用最广泛的 O/

8、R映射工具。 Hibernate 为快速开发应用程序提供了底层的支持。2. Struts2+Hibernate+Spring 开发的优势采用 SSH框架开发系统,其优势具体表现在如下:(1)开发效率:框架的使用并不是使得开发效率与之提高,相反可能会降低系统的开发效率。那么为什么还要使用框架呢?软件工程是个特殊的行业,不同于传统的工业,例如电器、建筑及汽车等行业。这些行业的产品一旦开发出来,交付用户使用后将很少需要后续的维护。但软件行业不同,软件产品的后期运行维护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。众所周知,对于传统的 ASP和 PHP等脚本站点技术,将整

9、个站点的业务逻辑和表现逻辑都混杂在 ASP或 PHP页面里,从而导致页面的可读性相当差,可维护性非常低。即使需要简单改变页面的按钮,也不得不打开页面文件,冒着破坏系统的风险。但采用严格分层 J2EE架构,则可完全避免这个问题。对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。因此,采用 J2EE分层架构,即使前期的开发效率稍微低一点,但也是值得的。(2)需求变更:软件的需要并不是一成不变的,客户对软件的需求,随着软件开发过程的深入而不断清晰明确起来。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。当软件实现需要改变时

10、,是否可以尽可能多地保留软件的部分,尽可能少地改变软件的实现,从而满足客户需求的变更?答案是采用优秀的解耦架构。这种架构就是 J2EE的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于 DAO层,也不会与任何具体的 DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。(3)技术更新与系统重构:软件行业的技术更新很快,虽然软件行业的发展不快,但小范围的技术更新特别快。一旦由于客观环境的变化,不得不更换技术时,如何保证系统的改变最小呢?答案还是选择优秀的架构。在传统

11、的 Model 1 的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面。或者改写。虽然前期的开发速度快,除非可以保证以后永远不会改变应用的结构,否则不要采用Model1 的结构。采用 Hibernate 作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。DAO模式需要为每个DAO组件编写 DAO接口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用Spring 容器代替 DAO工厂。通常情况下,引入接口就不可避免需要引入工厂来负责DAO组件的生成。 Spring 实现了两种基本模式:单态模式和工厂模式。而使用Spring 可以完全避免使用工厂

12、模式,因为 Spring 就是个功能非常强大的工厂。因此,完全可以让Spring 充当 DAO工厂。由 Spring 充当 DAO工厂时,无须程序员自己实现工厂模式,只需要将DAO组件配置在 Spring 容器中,由 ApplicationContext 负责管理 DAO组件的创建即可。借助于 Spring 提供的依赖注入,其他组件甚至不用访问工厂,一样可以直接使用DAO实例。上面所述的优势是在一个月的学习时间里逐渐总结和体会到的,并不全面和深刻,只有在不断的使用和整合中才能不断加深对于 SSH的理解和掌握,需要更深一步的学习。实习体会:通过一个月对于 Struts2+Hibernate+Spring的学习,由开始的初步了解逐渐加深了对于SSH的理解,对于面向过程的编程语言到面向对象的编程语言的认识更加深刻,同时在一定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论