版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-精选文档 -毕业实习报告二 O 一四年四月可编辑-精选文档 -评 定 意 见毕业实习成绩:指导教师对毕业实习的评语:指导教师(签章):2014 年 4月1日毕业实习指导小组的评定意见:教学院长(签章):系主任(签章):可编辑-精选文档 -2014年 4 月3 日SSH 毕业设计实习报告实习地点: J13-428实验室实习时间: 2014 年 3 月 4 日 3 月 31 日由于本次毕设打算采用J2EE 技术做一个基于B/S 架构的智能小区系统,为了提高系统的可维护性,使系统更加具有层次性以及满足以后需求的变更,我决定采用 Struts2+Hibernate+Spring进行开发。因此在这为期
2、一个月的时间里,我学习了 SSH 框架的原理、整合和使用。下面是我对 SSH 框架的学习收获。1. Struts2+Hibernate+Spring简介学习过编程开发的人都应听过框架这个名字,所谓的框架是指整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性。J2EE复杂的多层结构决定了大型的J2EE项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、开源的基于J2EE 的应用框架,其中主流的框架技术有:基于MVC 模式的 Struts 框架和基于 IoC 模式的 Spring框架以
3、及对象 / 关系映射框架 Hibernate等。(1 )表示层框架 Struts2Struts2是一个在JSP Model2基础上实现的MVC 框架,主要分为模型可编辑-精选文档 -(Model) 、视图 (Viewer) 和控制器 (Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。 Struts2框架的体系结构主要分为:1 )视图:视图部分主要由JSP 页面组成,其中没有流程逻辑、业务逻辑和模型信息,只要标记。 Struts 自身包含了一组标记库 (TagLib) ,这也是 Struts 的精华之一,灵活运用它们可
4、以简化JSP 页面的代码,提高开发效率。2 )控制器: Struts中的Controller主要是其自身提供的ActionServlet。ActionServlet接收所有来自客户端的请求并根据配置文件(struts-config.xml)中的定义将控制转移到适当的Action对象。3 )模型: Struts 没有定义具体 Model层的实现, Model层通常是和业务逻辑紧密相关的,有持续化的要求。目前在商业领域和开源世界,都有一些优秀的工具可以为 Model层的开发提供便利。(2 )业务逻辑层框架SpringSpring是一个解决了许多J2EE 开发中常见问题并能够替代EJB 技术的强大的
5、轻量级框架。这里所说的轻量级指的是Spring框架本身,而不是指Spring 只能用于轻量级的应用开发。 Spring的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与EJB 这种庞然大物相比, Spring可使程序研发人员把各个技术层次之间的风险降低。Spring框架的核心是控制翻转 IoC(Inversionof Control)/依赖注入 DI(DependenceInjection) 机制。IoC 是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和可编辑-精选文档 -技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由
6、程序代码到外部容器的转移,称为“翻转”。DI 是对 IoC 更形象的解释,即由容器在运行期间动态地将依赖关系(如构造参数、构造对象或接口)注入到组件之中。 Spring 采用设值注入 (使用 Setter 方法实现依赖 )和构造子注入(在构造方法中实现依赖 )的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC 容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。(3 )数据持久层框架HibernateO/Rmapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。 Hibernate是目前最为流行的O/R
7、mapping框架,它在关系型数据库和Java 对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。Hibernate通过对 JDBC 的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于OO 程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制xml 映射文件。底层数据库 的 改 变 只 需 要简 单 地 更 改初 始 化 配置 文 件 (hibernate.cfg.xml或 者perties)即可,不会对应用程序产生影响。Hibernate有自己的面向对象的查询语言HQL ,HQL 功能强大,支持目前大部分主流的
8、数据库,如Oracle 、DB2 、MySQL 、Microsoft SQL Server等,是目前应用最广泛的O/R映射工具。 Hibernate为快速开发应用程序提供了底层的支持。2. Struts2+Hibernate+Spring开发的优势可编辑-精选文档 -采用 SSH 框架开发系统,其优势具体表现在如下:(1 )开发效率:框架的使用并不是使得开发效率与之提高,相反可能会降低系统的开发效率。那么为什么还要使用框架呢?软件工程是个特殊的行业,不同于传统的工业,例如电器、建筑及汽车等行业。这些行业的产品一旦开发出来,交付用户使用后将很少需要后续的维护。但软件行业不同,软件产品的后期运行维
9、护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。众所周知,对于传统的ASP 和 PHP 等脚本站点技术,将整个站点的业务逻辑和表现逻辑都混杂在ASP 或 PHP 页面里,从而导致页面的可读性相当差,可维护性非常低。即使需要简单改变页面的按钮,也不得不打开页面文件,冒着破坏系统的风险。但采用严格分层J2EE 架构,则可完全避免这个问题。对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。因此,采用J2EE 分层架构,即使前期的开发效率稍微低一点,但也是值得的。(2 )需求变更:软件的需要并不是一成不变的,客户对软件的需求,随着软件开发过程
10、的深入而不断清晰明确起来。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。当软件实现需要改变时,是否可以尽可能多地保留软件的部分,尽可能少地改变软件的实现,从而满足客户需求的变更?答案是采用优秀的解耦架构。这种架构就是 J2EE 的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于可编辑-精选文档 -DAO 层,也不会与任何具体的DAO 组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。(3 )技术更新与系统重构:软件行
11、业的技术更新很快,虽然软件行业的发展不快,但小范围的技术更新特别快。一旦由于客观环境的变化,不得不更换技术时,如何保证系统的改变最小呢?答案还是选择优秀的架构。在传统的 Model 1的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面。或者改写。虽然前期的开发速度快,除非可以保证以后永远不会改变应用的结构,否则不要采用 Model 1的结构。采用 Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。DAO 模式需要为每个DAO 组件编写 DAO 接口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用Spring 容器代替 DA
12、O 工厂。通常情况下,引入接口就不可避免需要引入工厂来负责DAO 组件的生成。 Spring实现了两种基本模式:单态模式和工厂模式。而使用Spring 可以完全避免使用工厂模式,因为 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年影视作品制作发行合同
- 电子商务平台股权转让及2024年度财务审计合同:确保转让的真实性
- 2024年设备租赁与购买期权合同3篇
- 2024年度工程设计居间合作合同2篇
- 人教版九年级化学第十二单元2化学元素与人体健康分层作业课件
- 建筑材料供销合作的合同范本
- 诊所医疗设施建设2024年度合同2篇
- 2024年度智能硬件研发与销售合同3篇
- 抗抑郁焦虑日常护理
- 车间安全员工作计划
- 病人入院与出院流程课件
- 人民群众是历史的创造者教学设计
- 《基础阿拉伯语1》课程教学大纲
- 小学语文人教五年级上册第六单元群文课件
- 思想政治教育学原理课后答案
- 人教部编版八年级历史上册教学课件第五单元全套
- 新高考选科-专业解读课件
- 九种体质调理课件
- 一年级上学期期中家长会(语文老师)
- 口腔急诊处理课件
- 白鹭学情分析方案五年级语文
评论
0/150
提交评论