基于SSH的精品公开课程网站的设计 联系客服

发布时间 : 星期一 文章基于SSH的精品公开课程网站的设计更新完毕开始阅读4d79d89fc281e53a5802ffae

安徽工程大学毕业设计(论文)

容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean 如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互 关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

Spring框架由七个定义明确的模块组成

1.核心容器

这是Spring框架最基础的部分,它提供了依赖注入(DependencyInjection)特征来实现容器对 Bean的管理。这里最基本的概念是BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,它使用 IoC将应用配置和依赖说明从实际的应用代码中分离出来。

2.应用上下文(Context)模块

核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架。这个模块扩展了BeanFactory的概念,增加了对国际化(I18N)消息、事件传播以及验证的支持。

另外,这个模块提供了许多企业服务,例如电子邮件、JNDI访问、EJB集成、远程以及时序调度(scheduling)服务。也包括了对模版框架例如Velocity和FreeMarker集成的支持。

3.Spring的AOP模块

Spring在它的AOP模块中提供了对面向切面编程的丰富支持。这个模块是在Spring应用中实现切面编程的基 础。为了确保Spring与其它AOP框架的互用性,Spring的AOP支持基于AOP联盟定义的API。AOP联盟是一个开源项目,它的目标是通过定 义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性。通过访问他们的站点[2],你可以找到关于AOP联盟的更多内容。

Spring的AOP模块也将元数据编程引入了Spring。使用Spring的元数据支持,你可以为你的源代码增加注释,指示Spring在何处以及如何应用切面函数。

4.JDBC抽象和DAO模块

使用JDBC经常导致大量的重复代码,取得连接、创建语句、处理结果集,然后关闭连接。Spring的JDBC和DAO模块抽取了这些重复代码,因此你可以保持你的数据库访问代码干净简洁,并且可以防止因关闭数据库资源失败而引起的问题。

这个模块还在几种数据库服务器给出的错误消息之上建立了一个有意义的异常层。使你不用再试图破译神秘的私有的SQL错误消息!

另外,这个模块还使用了Spring的AOP模块为Spring应用中的对象提供了事务管理服务。

5.对象/关系映射集成模块

对那些更喜欢使用对象/关系映射工具而不是直接使用JDBC的人,Spring提供了ORM模块。Spring并不试图实现它自己的ORM解决方案,而是为几种流行的ORM框架提供了集成方案,包括Hibernate、JDO和iBATIS SQL映射。Spring的事务管理支持这些ORM框架中的每一个也包括JDBC。

6.Spring的Web模块

Web上下文模块建立于应用上下文模块之上,提供了一个适合于Web应用的上下

- 7 -

唐天振:基于SSH的精品公开课程网站的设计

文。另外,这个模块还提供了一些面向服务支持。例如:实现文件上传的multipart请求,它也提供了Spring和其它Web框架的集成,比如Struts、WebWork。

7.Spring的MVC框架

Spring为构建Web应用提供了一个功能全面的MVC框架。虽然Spring可以很容易地与其它MVC框架集成,例如Struts,但Spring的MVC框架使用IoC对控制逻辑和业务对象提供了完全的分离。

它也允许你声明性地将请求参数绑定到你的业务对象中,此外,Spring的MVC框架还可以利用Spring的任何其它服务,例如国际化信息与验证。

8.Spring框架Web页面乱码问题[3]

在做java Web 项目时,乱码问题时常都会出现,解决方法也不尽相同,有简单也有复杂的;如果加入了Spring框架之后就不一样了,可以采用Spring框架自带的过滤 器CharacterEncodingFilter,这样可以大大减轻了我们的工作量,即简单方便又容易理解。

2.3 Hibernate介绍

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

图 2-4 Hibernate结构图

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和 Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心 接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作 (CRUD的任务是完

- 8 -

安徽工程大学毕业设计(论文)

成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的 session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而 以后会将HttpSesion对象称为用户session。

SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要 注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库 时,可以为每个数据库指定一个SessionFactory。 Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

- 9 -

唐天振:基于SSH的精品公开课程网站的设计

第3章 需求分析

通过相关调研,及相关参阅文献,在该章节中对该课题进行需求求分析,通过可行性分析精化、细化该系统,以期确定系统必须完成的工作,对目标系统提出完整、准确、清晰、具体的要求。

3.1可行性分析

可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

下面将分别从技术、经济、社会三个方面对基于SSH的精品课程网站的设计进行分析和研究。 3.1.1 技术可行性

根据网络学校提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库教学管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。

由以上分析可知,基于SSH的精品课程网站的设计的开发在技术上是可的。 3.1.2 经济可行性

大多数高校具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。

系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。

由以上分析可知,基于SSH的精品课程网站的设计在经济上是可行的。 3.1.3 社会可行性

本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。 1.法律因素

本系统是根据数据库教学的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。

2.用户使用可行性

本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。

由以上分析可知,本系统具有社会可行性。

3.2 需求概述

该课题是对精品公开课程网站的设计与实现,最终达到一个界面良好,功能齐全,性能优良的网站系统。该系统通过使用SSH框架作为整体架构,使之更容易扩展和维护,让该系统能随着时代的发展,不断地进行更新与完善,从而达到更长久的生命力。

该系统根据用户身份的不同,可分为三大模块:学生用户模块、教师模块和管理员

- 10 -