1、 天津渤海职业技术学院毕业论文 1 天津渤海职业技术学院毕业论文 摘 要 . 2 关键词 : Struts2、 Spring、 Hibernate、顶岗实习 . 2 引言 . 3 第一章 . 4 1 关键技术 . 4 1.1 软件环境 . 4 1.2 硬件环境 . 5 1.3 Spring 简介 . 5 1.4 Hibernate 简介 . 7 1.5 Struts2 简介 . 8 第二章 . 9 2 基于 SSH 框架的顶岗信息处理平台管理系统的实现 . 9 2.1 Spring 的应用 . 11 2.2 Struts 的应用 . 11 总结 . 16 参考文献 . 17 天津渤海职业技术学
2、院毕业论文 2 摘 要 近些年来,随着计算机的普及与发展, “Internet”一词已经让我们不再感到陌生,随着 E 时代的到来,新的理念和结构也在不断的形成和完善,计算机网络技术的发展对人类技术史的发展产生了不可磨灭的深远影响。计算机网络技术的发展推动了人类的科学技术的发展 ,同时给人们的学习 ,工作和生活带来了诸多的好 处 ,特点主要体现在以下几个方面 : 快捷性、自由性、开放性、互动性、创新性。伴随着计算机网络技术的迅猛发展和广泛应用,人类进入了全新的网络经济时代。信息化、数字化、全球化、网络化应是 21 新世纪人类社会的 重要特征,其中,以计算机网络迅猛发展而形成的网络化则是推动信息化
3、、数字化和全球化的基础和核心。计算机网络技术的发展将以其融合一切现代先进信息技术的特殊优势而在 21 世纪形成一场崭新的信息技术革命,并进一步推动社会信息化和知识经济的发展。而计算机网络系统和相关技术也必将在 21 世纪社会信息化和知识经济浪潮中更快更大的发展。 本文 采用 了 当今比较流行的 框架 Struts2+Spring+ Hibernate 的系统结构 ,结合高职高专人才培养模式 ,依托第三方软件平台 ,成功开发融学习、资源共享、交流为一体的顶岗实习 信息处理平 台 学生管理系统。系统完成从功能测试和管理实践的经验积累 ,运行稳定 ,达到预期效果 ,为下一阶段学生管理工作提供有益的思
4、路 ,有很好的现实意义。 关键词 : Struts2、 Spring、 Hibernate、顶岗实习 天津渤海职业技术学院毕业论文 3 引言 随着 大学学生毕业人数的增加及学校对顶岗实习生要求的提高 , 社会 越来越重视将 构建学生 各类信息化管理软件 , 集成到一个适应的软件集成平台中,这也是 该处理平台 开发的目的。软件行业的工业化趋势导致了构件的产生,让部分软件能够像硬件系统那样组合起来构建软件系统,就实现了软件的复用。若能结合系统 的实际情况,充分利用已有的软件构件,将会大大提高生产效率,减少大量的重复劳动。因此,为了方便构件的管理和复用,解决传统的软件开发模式中通用性差、柔性低、开发
5、效率低等一系列问题,采用 “高内聚,低耦合 ”的成熟框架Stmts+S 研 ng+Hibemate(简称 SSH 框架 )来进行构件库管理系统的开发, 以 达到软件复用的目的。 天津渤海职业技术学院毕业论文 4 第一章 1 关键技术 Struts、 Spring、 Hibernate 是三个既相互独立又彼此关联的框架,它们可以无缝地整合起来构建灵活、易于扩展的多层 Web 应 用程序, Struts 用来实现表示层, Spring 实现业务层, Hibemate 实现持久层。 图 1. Struts、 Spring、 Hibernate 关系图 1.1 软件环境 操作系统要求: Windows
6、98、 2000、 XP 浏览器版本要求: IE6 以上。 开发平台: MyEclipse 6.6 数据库: Mysql WEB 服务: Tomcat6.0 主要技术: Spring、 Hibernate、 Struts2.0、 JfreeChart 天津渤海职业技术学院毕业论文 5 1.2 硬件环境 处理器: 1.5GHz 主频 以上 硬盘: 40G 以上 内存: 512MB 以上。 1.3 Spring 简介 Spring 是一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB
7、完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和 松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企业应用功能 范围:任何 Java 应用 简单来说, Spring 是一个轻量级的控制反转 (IoC)和面向切面 (AOP)的容器框架。 轻量 从大小与开销两方面而言 Spring 都是轻量的。完整的 Spring框架可以在一个大小只有 1MB 多的 JAR 文件里发布。并且 Spring 所需的处理开销也是微不足道的。此外, Spring 是
8、非侵入式的:典型地, Spring 应用中的对象不依赖于 Spring 的特定类。 控制反转 Spring 通过一种称作控制反转( IoC)的技术促进了松耦合。当应用了 IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。 你可以认为 IoC 与 JNDI 相反 不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面 Spring 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计( auditing)和事务( transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的
9、 完成业务逻辑 仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例天津渤海职业技术学院毕业论文 6 如日志或事务支持。 容器 Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种容 器,你可以配置你的每个 bean 如何被创建 基于一个可配置原型( prototype),你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例 以及它们是如何相互关联的。然而, Spring 不应该被混同于传统的重量级的 EJB 容器,它们经常是庞大与笨重的,难以使用。 框架 Spring 可以将简单的组件配置、组合成为复杂的应用。在Spring 中,应用对象被声明式地组
10、合,典型地是在一个 XML 文件里。 Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有 Spring 的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为 Spring 中的各种模块提供了基础支持。 Spring 可以给一个工程带来的一些好处 : Spring 能有效地组织你的中间层对象 ,无论你是否选择使用了 EJB。如果你仅仅使用了 Struts 或其他的包含了 J2EE 特有 APIs 的 framework,你会发现 Spring 关注了遗留下的问题。 Spring 能消除在许多工程上对 Singleton 的过多使用
11、。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。 Spring 能消除使用各种各样格式的属性定制文件的需要 ,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性 ,为此不得不读 Javadoc 乃至源编码吗?有了 Spring,你可很简单地看到类的 JavaBean 属性。倒置控制的使用 (在下面讨论 )帮助完成这种简化。 Spring 能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。 Spring 被设计为让使用它创建的应用尽可能少的依赖于他的 APIs。在 Spring 应用中的大多数 业务对
12、象没有依赖于 Spring。 使用 Spring 构建的应用程序易于单元测试。 Spring 能使 EJB 的使用成为一个实现选择 ,而不是应用架构的必然选择。你能选择用 POJOs 或 local EJBs 来实现业务接口,却不会影响调用代码。 Spring 帮助你解决许多问题而无需使用 EJB。 Spring 能提供一种 EJB的替换物,它们适于许多 web 应用。例如 ,Spring 能使用 AOP 提供声明性事务而不通过使用 EJB 容器,如果你仅仅需要与单个的数据库打交道,甚天津渤海职业技术学院毕业论文 7 至不需要 JTA 实现。 Spring 为数据存取提供了一致的框架 ,不论是
13、使用 JDBC 或 O/R mapping 产品(如 Hibernate)。 Spring 确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。 总结起来, Spring 有如下优点: 低侵入式设计,代码污染极低 独立于各种应用服务器,可以真正实现 Write Once,Run Anywhere 的承诺 Spring 的 DI 机制降低了业务对象替换的复杂性 Spring 并不完全依赖于 Spring,开发者可自由选用 Spring 框架的部分或全部 1.4 Hibernate 简介 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的
14、对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 Hibernate 的核心接口一共有 5 个,分别为 :Session、 SessionFactory、 Transaction、 Query 和 Configuration。这 5 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进
15、行存取,还能够进行事务控制。 Hibernate 中提供了两级 Cache,第一级别的缓存是 Session 级别的缓存,它是属于事务范围的缓存。这一级别的缓存由 hibernate 管理的,一般情况下无需进行干预;第二级别的缓存是 SessionFactory 级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate 还为查询结果提供了一个查询缓存,它依赖于第二级缓存。 Hibernate 对象关系映射提供延迟的与非延迟的对象初始化。非 延迟加载 在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。这有时会导致
16、成百的(如果不是成千的话) select 语句在读取对象的时天津渤海职业技术学院毕业论文 8 候执行。这个问题有时出现在使用双向关系的时候,经常会导致整个数据库都在初始化的阶段被读出来了。当然, 你可以不厌其烦地检查每一个对象与其他对象的关系,并把那些最昂贵的删除,但是到最后,我们可能会因此失去了本想在 ORM 工具中获得的便利。 一个明显的解决方法是使用 Hibernate 提供的延迟加载机制。这种初始化策略只在一个对象调用它的一对多或多对多关系时才将关系对象读取出来。这个过程对开发者来说是透明的,而且只进行了很少的数据库操作请求,因此会得到比较明显的性能提升。这项技术的一个缺陷是延迟加载技
17、术要求一个 Hibernate 会话要在对象使用的时候一直开着。这会成为通过使用 DAO 模式将持久层抽象出来时的一个主 要问题。为了将持久化机制完全地抽象出来,所有的数据库逻辑,包括打开或关闭会话,都不能在应用层出现。最常见的是,一些实现了简单接口的 DAO 实现类将数据库逻辑完全封装起来了。一种快速但是笨拙的解决方法是放弃 DAO 模式,将数据库连接逻辑加到应用层中来。这可能对一些小的应用程序有效,但是在大的系统中,这是一个严重的设计缺陷,妨碍了系统的可扩展性。 1.5 Struts2 简介 虽然 Struts2 号称是一个全新的 框架 ,但这仅仅是相对 Struts1 而言。Struts
18、2 与 Struts1 相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架: WebWork 基础上发展起来的。从某种程度上来讲, Struts2 没有继承 Struts1 的血统,而是继承 WebWork 的血统。或者说, WebWork 衍生出了 Struts2,而不是 Struts1 衍生了 Struts2。因为 Struts2 是 WebWork 的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了 Struts1 和 WebWork 两者的优势,因此,是一个非常值得期待的框架。 天津渤海职业技术学院毕业论文 9 第二章 2
19、基于 SSH 框架的 顶岗信息处理平台 管理系统的实现 领域模型其实就是实体类,符合 JavaBean 编程的标准,只包含属性及其 setter 和 getter 方法。实体类 Suppier 对应的映射文件 Supplier.hbm.xml的配置如下: 天津渤海职业技术学院毕业论文 10 配置好实体类的映射文件后,还必须在 applicationContext.xml 文件中添加此映射文件的配置,并且还要在 applicationContext.xml 中配置连接数据库的信息,内容如下: org.hibernate.dialect.MySQLDialect true com/pojo/Supplier.hbm.xml bean id=“dataSource“
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。