基于javaee的湘南学院体育选向课程网站的设计与实现本科毕业论文(编辑修改稿)内容摘要:
控制 (Controller)可以理解为从用户接收请求 , 将模型与视图匹配在一起,共同完成用户的请求。 划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。 如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到 这些变化。 因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。 这实际上是一种模型的变化 传播机制。 图 22 MVC 的原理图 Hibernate 与 ORM 简介 对象 关系映射( Object/Relation Mapping,简称 ORM),是随着面向对象的软件开发方法 发 展而产生的。 面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。 对象和关系数 据是业务实体的两种表现形式,业务实体在内存中表现 12 为对象,在数据库中表现为关系数据。 内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法 直接表达多对多关联和继承关系。 因此,对象 关系映射 (ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。 Hibernate 是轻量级 Java EE 应用的持久层解决方案, Hibernate 不仅管理Java 类到数据库表的映射(包括 Java 数据类型到 SQL 数据类型的映射),还是提供数据查询和获取数据的方法,可以大幅度缩短使用 JDBC 处理数据持久化的时间。 目前的主流数据库依然是关系型数据库,而 Java 语言则是面向对象的编程语言,当把二者结合在一起使用时相当麻烦,而 Hibernate 则减少了这个问题的困扰,它完成对象模型和基本 SQL 的关系模型的映射关系。 因为有 Hibernate 的支持,使得 Java EE应用的 OOA(面向对象分析 )、 OOD(面向对象设计)、 OOP(面向对象编程)三个过程一脉相承,成为一个整体。 由于 Hibernate 是一个和 JDBC 密切关联的框架,所以 Hibernate 的兼容性和 JDBC 驱动,和数据库都有一定的关系,但是和使用它的 JAVA 程序,和 App Server 没有任何关系,也不存在兼容性问题。 图 23 Hibernate 体系总览图 由于 Hibernate 比较复杂,提供了好几种运行方式。 在轻型体系中,应用程序自己提 JDBC 连接,并自行管理事务。 这种方式使用了 Hibernate API 的一个最小子集。 (如下图) 13 图 24 Hibernate 轻型应用体系 在 前面解决体系中,对于应用程序来说,所有的底层 JDBC/JTA API 都被抽象了, Hibernate 会替你照管好所有的细节。 本文中所用到的就是这种体系。 图 25 Hibernate 全面应用解决体系 以下是图中一些对象的定义: 1)SessionFactory 对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。 它是 Session 的工厂,是 ConnectionProvider 的客户。 可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。 2)Session 会话 Session 是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。 封装了一个 JDBC 连接,也是 Transaction 的工厂。 保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。 3)持久化对象( Persistent Object)及其集合( Collection) 生命周期短的单线程对象包含了持久化状态和商业功能。 它们可能是普通的JAVABeans/POJOs,唯一特别的是他们现在都从属于且仅从属于一个 Session。 14 一旦 Session 关闭,他们都将从 Session 中取消联系,可以在任何程序层自由使用。 4)事务( Transaction) 事务也是生命周期短的单线程对象,应用程序用它来表示一批工作的原子操作。 是底层的 JDBC,JTA 或者 CORBA 事务的抽象。 一个 Session 某些情况下可能跨越多个事务。 Spring 简介 Spring 是一个开源 框 架,是为了解决企业 应 用程序开发复杂性而创建的。 框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理 的环境。 Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。 这样的对象可以在不同 J2EE 环境( Web 或 EJB )、独立应用程序、测试 环境之间重用 图 27 Spring 框架的组成结构图 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。 每个模块的功能如下: 15 核心容器:核心容器提供 Spring 框架的基本功能。 核心容器的主要组件是BeanFactory ,它是工厂模式的实现。 BeanFactory 使用控制反转 ( IOC ) 模式将应用程序的配置和依赖性规范与实际的应用程序代码 分 开。 Spring 上下文: Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。 Spring 上下文包括企业服务,例如 JNDI 、 EJB 、电子邮件、国际化、校验和调度功能。 Spring AOP : 通过配置管理特性, Spring AOP 模块直接将面向方面的编程 功 能集成到了 Spring 框架中。 所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。 Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。 通过使用 Spring AOP ,不用依赖 EJB 组件,就可以将声明性事务管理集 成到应用程序中。 Spring DAO : JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库 供应商抛出的错误消息。 异常层次结构简化了错误处理,并 且极大地降低了需要编写 的异常代码数量(例如打开和关闭连接)。 Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 Spring ORM : Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO 、 Hibernate 和 iBatis SQL Map。 所有这些都遵从Spring 的通用事务和 DAO 异常层次结构。 Spring 为企业应用的开发提供了一个轻量级的解决方案。 该解决方案包括:基于依赖注入的核心机制,基于 AOP 的声明式事务管理,与多种持久层技术的整合,以及优秀的 Web MVC 框架等。 Spring 致力于 Java EE 应用各层的解决方案,而不是仅仅专注于某一层的方案。 JSP 技术简介 JSP技术提供了一种简单快速的方法来创建显示动态生成内容的 Web页面。 也就是在 MVC 中充当 V( View)的角色。 由业界处于领先地位的 Sun 公司制定了相关的 JSP技术规范,该规范定义了如何在服务器和 JSP页面间进行交互,还描述了页面的格式和语法。 JSP 页面使用 XML 标签和 scriptlets(一种使用 JAVA 语言编写的脚本代 16 码),封装了生成页面内容的逻辑。 它将各种格式的标签( HTML 或者 XML)直接传递回响应页面。 通过这种方式, JSP 页面实现了页面逻辑与其设计和显示的分离。 JSP 技术是 JAVA 系列技术的一部分。 JSP 页面被编译成 servlet,并可能调用 JAVABeans 组件 (beans)或 Enterprise JAVABeans 组件(企业 beans),以便在服务器端处理。 因此, JSP 技术在构建可升级的基于 web 的应用程 序时扮演了重要角色。 JSP 页面并不局限于任何特定的平台或 web 服务器上。 JSP 规范在业界有着广泛的适应性。 JSP 技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。 由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖, JSP 技 术大大加快了开发的速度。 所有JSP 的实现均支持以 JAVA 编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。 MySQL数据库简介 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。 在 20xx 年 1 月 16 号被 Sun 公司收购。 而 20xx 年, SUN 又被 Oracle 收购。 MySQL 是一种关联数据库管理系统,关联数据库将数据 保存在不同的表中,而不是将所有数据放在一个大仓库内。 这样就增加了速度并提高了灵活性。 MySQL 的 SQL“结构化查询语言 ”。 SQL 是用于访问数据库的最常用标准化语言。 MySQL 软件采用了 GPL( GNU 通用公共许可证 )。 由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 与其他的大型数据库例如 Oracle、 DB SQL Server 等相比, MySQL 自有它的不足之处,如规模小、功能有限( MySQL Cluster 的功能和效 率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。 对于一般的个人使用者和中小型企业来说, MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。 目前 Inter 上流行的网站构架方式是 LAMP( Linux+Apache+MySQL+PHP/Perl/Python)和 LNMP( Linux+Nginx+MySQL+php/perl/Python),即使用 Linux 作为操作系统, Apache和 Nginx 作为 Web 服务器, MySQL 作为数据库, PHP/Perl/Python 作为服务器端 17 脚本解释器。 由于这四个软件都是免费或开放源码软件( FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。 3 系统总体设计 系统架构 系统依据 MVC 模式可分为视图层、控制层、模型层。 从程序分布位置角度,系统依次分布在浏览器、应用服务器、数据库系统三层,如图 所示。 图 31 系统结构图 系统分析 需求分析 现代化学校应该有个现代化的管理系统去管理学校内的各项事物,学校是一个数据量比较大的单位,如何去管理及查询学校内的数据就成为了一项及为重要 18。基于javaee的湘南学院体育选向课程网站的设计与实现本科毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。