收藏 分享(赏)

基于Web的计算机网络课程自动答疑系统.doc

上传人:dzzj200808 文档编号:2786125 上传时间:2018-09-27 格式:DOC 页数:64 大小:1.71MB
下载 相关 举报
基于Web的计算机网络课程自动答疑系统.doc_第1页
第1页 / 共64页
基于Web的计算机网络课程自动答疑系统.doc_第2页
第2页 / 共64页
基于Web的计算机网络课程自动答疑系统.doc_第3页
第3页 / 共64页
基于Web的计算机网络课程自动答疑系统.doc_第4页
第4页 / 共64页
基于Web的计算机网络课程自动答疑系统.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 1 页摘 要目前随着 Internet 的广泛使用,网络教学系统被越来越多的应用在教学过程中。越来越多学校都建立了网络答疑系统,通过这样的系统,学生可以在异地访问教学资源,不受时间的限制进行学习。网络课程答疑系统是网络教育系统的一个重要组成部分,学生可以通过这个系统向老师和系统寻求帮助,获得问题的解答。本次毕业设计的题目就是设计并且实现一个基于 Web 的网络课程答疑系统,为学生添加在网上远程学习交流的机会和空间。本系统主要以 Core Java 为主, 采用B/S 结构 ,底层数据库选用 MYSQL, 数据访问层采

2、用 JDBC,Hibernate,页面模板采用JSP,Web 框架设计模式采用 StrutsMVC 模式,IDE 工具采用 Myeclipse,服务器采用 Tomcat;该系统的实现可以提高学生学习的效率,使学生更好地享受 Web 服务给生活带来的便捷。本文首先介绍了 Strutes,Hibernate 和 Jsp 的相关知识。详细阐述了系统所要完成的功能和开发的过程,重点说明了系统设计过程、关键技术和关键词匹配算法。关键词: Struts,Hibernate,Jsp ,关键词匹配算法,MVC 模式更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 2 页Abstra

3、ctWith the current widespread use of the Internet, network systems of teaching are more and more applications in the teaching process. More and more colleage hava set up newtwork system of teaching, student can visit the source of educating and study without the trouble of time and space by using th

4、is system. Network Automatic Question2)研究了相关文献中关于关键字匹配算法方面的的内容;3)学习 Core Java 等各种技术;4)制定了基于 web 的网络课程答疑系统的总体设计方案;5)设计了本系统的各模块的功能和实现细则;6)设计并实现了基于关键字拆分的匹配算法;更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 6 页7)设计了底层数据库的实现;本论文主要论述了管理子系统以及匹配算法的详细设计过程。更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 7 页2. 系统设计中各种技术的介绍2.1 核

5、心 Java 介绍在经历了以大型机为代表的集中计算模式和以 PC 机为代表的分散计算模式之后,互联网的出现使得计算模式进入了网络计算时代。网络计算模式的一个特点是计算机是异构的,即计算机的类型和操作系统是不一样的,例如 SUN 工作站的硬件是SPARC 体系,软件是 UNIX 中的 Solaris 操作系统,而 PC 机的硬件是 INTEL 体系,操作系统是 windows 或者是 Linux,因此相应的编程语言基本上只是适用于单机系统,例如 COBOL、FORTRAN、C 、C等等;网络计算模式的另一个特点是代码可以通过网络在各种计算机上进行迁移,这就迫切需要一种跨平台的编程语言,使得用它编

6、写的程序能够在网络中的各种计算机上能够正常运行,java 就是在这种需求下应运而生的。正是因为 java 语言符合了互联网时代的发展要求,才使它获得了巨大的成功。俗话说:“有心栽花花不成,无心插柳柳成荫“ 。Sun 公司绝没想到本想用于消费电子产品开发的编程语言却率先在网络中得到了广泛应用,但是也可以说是“东方不亮西方亮“,正是因为 java 语言在设计目标上的正确性使得 java 语言“是金字总会发光的“ 。 C 语言是面向过程的语言,也是使用率非常高的语言;而面向对象的思想引入到编程语言之后,C 语言就被改造成为面向对象的 C语言,得到了广泛的应用。但是 C语言必须兼容 C 语言,因此 C

7、语言是面向过程和面向对象混合的语言。 java 语言产生于 C语言之后,是完全的面向对象的编程语言,充分吸取了C语言的优点,采用了程序员所熟悉的 C 和 C语言的许多语法,同时又去掉了 C 语言中指针、内存申请和释放等影响程序健壮性的部分,可以说 java 语言是站在 C语言这个“巨人的肩膀上 “前进的。java 语言的一个目标是跨平台,因此采用了解释执行而不是编译执行的运行环境,在执行过程中根据所在的不同的硬件平台把程序解释为当前的机器码,实现跨平台运行。而动态下载程序代码的机制完全是为了适应网络计算的特点,程序可以根据需要把代码实时的从服务器中下载过来执行,在此之前还没有任何一种语言能够支

8、持这一点。综合上述,Java 的生命力体现在如下方面 :1.Java 产生与流行是 InterNet 发展的客观要求。2.是一门各方面性能都很好的编程语言,它的基本特点是简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的 Internet 环境上开发应用系统。3.Java 可以制作大部分网络应用程序系统 ,而且与如今流行的 WWW 浏览器结合很好。4.Java 不仅仅是一种各方 ,更重要的是一种区别于传统系统 ,遵守“网络就是计算机更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 8 页“信条的平台技术。Ja

9、va 平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是 Java 虚拟机,许多使 Java 成为万能开发平台的属性都源于 Java 虚拟机的概念和实现。2.2.1JAVA 面向对象的思想。JAVA 是纯面向对象编程,面向对象的三大原则封装,继承,多态。下面对这三大原则的介绍:封装封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制。封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问。对包装器内部代码与数据的访问通过一个明确定义的接口来控制。封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细

10、节就能直接使用它,同时不用担心不可预料的副作用。在 JAVA 中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码) 。一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的。所以对象也叫做类的实例。在定义一个类时,需要指定构成该类的代码与数据。特别是,类所定义的对象叫做成员变量或实例变量。操作数据的代码叫做成员方法。方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义。由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制。所以JAVA 中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件

11、东西。私有的方法数据只能通过该类的成员代码来访问。这就可以确保不会发生不希望的事情。继承继承是指一个对象从另一个对象中获得属性的过程。是面向对象程序设计的三大原则之二,它支持按层次分类的概念。例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种。如果不使用层次的概念,每个对象需要明确定义各自的全部特征。通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性。因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例。一个深度继承的子类将继承它在类层次中的每个祖先的所有属性。继承与封装可以互相作用。如果一个给定的类封装了某

12、些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性。这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念。新的子类继承其所有祖先的所有属性。子类和系统中的其他代码不会产生无法预料的交互作用。多态多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用“一个接口,多个方法 “来描述。可以通过方法的参数和类型引用。2.2 持久层的 HIBERNATE 的介绍Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据

13、表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 9 页工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种 Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方

14、式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。 在本次系统设计中所有的DAO都应用了Hibernate技术,大部分利用HQL语言对数据库进行增删查改,其中只有小部分使用了SQL进行查询,相比SQL语言而言,HQL使人很直观的了解所进行的操作,更为对数据库底层不熟悉的人提供了极大的方便。2.3 业务层的 JAVABEAN 的介绍JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 Jav

15、aBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些 JavaBean 属性。用户可以使用 JavaBean 将功能、处理、值、数据库访问和其他任何可以用 java代码创造的对象进行打包,并且其他的开发者可以通过内部的 JSP 页面、Servlet、其他 JavaBean、applet 程序或者应用来使用这些对象。用户可以认为 JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。虽然 JavaBean 和 J

16、ava 之间已经有了明确的界限,但在某些方面 JavaBean 和Java 之间仍然存在着非常明显的混淆。Java 确实是能够为用户创建可重用的对象,但它却没有管理这些对象相互作用的规则或标准。JavaBean 通过指定定义对象之间交互作用的机制,以及大部分对象需要支持的常用行为,如持久性和实际处理等,建立了自己需要的组件模型。虽然当前的 Java 组件模型也可以运行得很好,但在传送真正的可重用性和交互操作性上仍然非常有限,Java 用户需要做的最多的一件事就是创建 applet 并使得它们在 Web 页面上相互通讯,这并非易事。JavaBean 提供了一个框架包,使用这个包进行通讯就容易得多

17、了。JavaBean 组件能够通过定义好的标准属性改进性能。总体而言,JavaBean充分发展了 Java applet 的功能,并结合了 Java AWT 组件的紧凑性和可重用性。2.4 表现层 Servlet 和 JSP 的介绍2.4.1Servlet 和 JSP 的介绍Servlet 是运行在 WEB 服务器或应用服务器上的 Java 程序,它是一个中间层,负责连接来自 Web 浏览器或其他 HTTP 客户程序的请求和 HTTP 服务器上的数据库或应用程序。可以将 Servlet 看作是一个含有 HTML 的 JAVA 程序 Servlet 的工作是执行下面的任务:读取客户发送的显式数据

18、;读取由浏览器发送的隐式请求数据;生成结果;向客户发送显式数据(即文档) ;发送隐式的 HTTP 响应数据。更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 10 页我们可以把 JSP 看作在静态页面上写 Java 代码,但其实 JSP 在服务器第一次运行的时候被服务器翻译为 Servlet,正真运行的是翻译后的 Servlet。JSp 和 Servlet 的区别就如下几点:1) JSP 以文本为主,主要用于画界面2) JSP 可以人工扩充,而 servlet 是固定的3) JSP 内核是 servlet,所以也是基于 HTTP 协议的请求响应循环4) 由 HTML

19、(Css、xml) 、java code、JSP 标签组成5) JSP 有自定义标签(ASP 没有)6) CGI 和 Servlet 以代码为主,代码中嵌文本 ;JSP 中文本中嵌代码7) JSP 擅长于表现,而短于逻辑;而 Servlet 一般用作 Contorler 和 diapatch(控制和流转);所以在 JSP 中写界面元素,而逻辑方面由 Servlet 完成。 8) JSP 不需要写 java 文件、不需要编译和配置,它被封装到了容器内部;9) JSP 代码不可重用。2.4.2 EL 和 JSTL 的介EL 全名为 Expression Language,它原本是 JSTL1。0

20、为方便存取数据所自定义的语言。当时 EL 只能在 JSTL 标签中使用。到了 JSP2。0 之后,EL 已经正式纳入成为标准规范之一。因此,只要是支持servlet2。4/JSP 2。0 的 Container,就都可以在 JSP 网页中直接使用 EL 了。JSTL 全名为 JavaServer Pages Standard Tag Library, 目前最新的版本为 1。2 版。JSTL 是由 JCP(Java Community Process)所制定的标准规范,它主要提供给 Java Web 开发人员一个标准通用的标签函数库。Web 程序员能够利用 JSTL 和 EL 来开发 Web 程

21、序,取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序的阅读性,维护性和方便性。JSTL 是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出,流程控制,循环,XML 文件剖析,数据库查询及国际化和文字格式标准化的应用等。从表 21 可以知道,JSTL 所提供的标签函数库主要分为五大类:表 2-1更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 11 页另外,JSTL 也支持 EL 语法,这也是本系统设计上处理集合迭代的主要方法。2.4 WEB 架构 MVC 模式和 STRUTS 的介绍2.4.1MVC 模式的优先和缺点说

22、道 MVC 的优点,首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,在本系统中用户的注册有学生注册也可能是教师注册,但对于注册的处理都是一样,也就是说注册的处理是一致的。按 MVC 设计模式,一个用户模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动 MVC 的模型层。 控制层

23、的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。 最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。关于 MVC 的缺点,首当其冲的是其增加了系统结构和实现的复杂性。对于简单的界面,严格遵循 MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。另外,视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

24、最后,视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。2.4.2MVC 模型简介模型一(图 21):JSP+JavaBean,JSP 既充当控制,又充当视图,以页面为核心,JSP 使用 jsp:useBean,他不能够实现不同的页面,显示不同的数据,需要借更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 12 页助于中间类来调用 JavaBean 的方法才能实现。图 2-1模型二(图 22):JSP+Servlet+JavaBean,以控制为核心,JSP 只负责显示和收

25、集数据,sevlet ,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种 MVC 的实现模式。图 2-2StrutsMVC 框架Struts 是使用 MVC 的实现模式二来实现的,也就是以控制器为核心。(图 2-3)Struts 提供了一些组件使用 MVC 开发应用程序:1)模型(Model)在 Struts 的体系结构中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 Actinform Bean 表示。根据设计或应用程序复杂度的不同,这些 Bean

26、 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的 bean 调用。比如购物车 bean,它拥有用户购买商品的信息,可能还有 checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在 Action 类,它是 struts 框架中控制器角色的一部分。当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与Action 类所扮演的角色(决定做什么)分开。2)视图(View)更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 1

27、3 页视图主要由 JSP 建立,struts 包含扩展自定义标签库(TagLib),可以简化创建完全国际化用户界面的过程。目前的标签库包括:Bean Tags、HTML tags、Logic Tags、Nested Tags 以及 Template Tags 等。3)控制器(Controller)在 struts 中,基本的控制器组件是 ActionServlet 类中的实例 servelt,实际使用的 servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)进行定义。对于业务逻辑的操作则主要由 Action、ActionMapping、ActionForward

28、这几个组件协调完成的,其中 Action 扮演了真正的业务逻辑的实现者,ActionMapping 与ActionForward 则指定了不同业务逻辑或流程的运行方向。struts-config。xml 文件配置控制器。Struts 框架的处理流程清楚的体现了 MVC 系统的特点,简单的 Struts 组件结构如图 2 所示。Struts Controller ActionServlet 处理客户请求,利用配置的ActionMapping 对象把请求映射到 Action 处理器对象进行处理。Action 处理对象访问 ActionForm 中的数据,处理和响应客户请求,它还调用后台的 Bean

29、 组件,这些组件封装了具体的业务逻辑。Action 处理器对象根据处理结果通知Controller,Controller 进行下一步的处理。 图 2-33. 系统所使用工具的介绍3.1 TOMCAT 的介绍Tomcat 在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 14 页Serlvet/JSP 的 Web 容器,不过 Tomcat 也扩展了一些应用服务器的功能,如 JNDI,数据库连接池,用户事务处理等等。Tomcat 是 Apache 组织下 Jakarta 项目下的一个子项目,目前 Tomcat

30、 被非常广泛的应用在中小规模的 Java Web 应用中。Tomcat 是一种具有 JSP 环境的 Servlet 容器。Servlet 容器是代替用户管理和调用 Servlet 的运行时外壳。作为一个开放源代码的软件, Jakarta -Tomcat 有着自己独特的优势: 首先,它容易得到。事实上,任何人都可以从互联网上自由地下载这个软件。无论从 http:/jakarta。Apache。org 还是从其他网站(Jakarta Tomcat 是 Apache软件基金会开发的一个开放源码的应用服务器) 。 其次,对于开发人员,特别是 Java 开发人员, Tomcat 提供了全部的源代码,包括

31、 Servlet 引擎、 JSP 引擎、HTTP 服务器。无论是对哪一方面感兴趣的程序员,都可以从这些由世界顶尖的程序员书写的代码中获得收益。 最后,由于源代码的开放及世界上许多程序员的卓有成效的工作, Tomcat 已经可以和大部分的主流服务器一起工作,而且是以相当高的效率一起工作。如:以模块的形式被载入 Apache,以 ISAPI 形式被载入 IIS 或 PWS,以 NSAPI 的形式被载入 Netscape Enterprise Server。 由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。Tomcat 的目录结构首先,下载 jakarta-tomca

32、t。zip 包,解压缩到一个目录下,如:“c:tomcat” 。这时,会得到如下的 Tomcat 的目录结构:- - - jakarta - tomcat| - - - bin Tomcat 执行脚本目录| - - - Common 放置一些通用类(如 JDBC 的驱动程序等)| - - - conf Tomcat 配置文件| - - - doc Tomcat 文档| - - - lib Tomcat 运行需要的库文件(JARS)| - - - logs Tomcat 执行时的 LOG 文件| - - - src Tomcat 的源代码| - - - webapps Tomcat 的主要 We

33、b 发布目录(存放我们自己的JSP,SERVLET,类)| - - - work Tomcat 的工作目录,Tomcat 将翻译 JSP 文件到的 Java 文件和 class 文件放在这里。 (表 3-1)表 4-1目 录 名 该目录内的文件的一般功能描述bin 包含有 Startup。bat(启动服务器)与 shutdown。bat(关闭服务器)文件conf 包含设置部署在 Tomcat 上的 Web 应用的变量的初始值的设置文件,包括 更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 15 页server。 xml (Tomcat 的全局配置文件) 和 web

34、。 xml (为不同的Tomcat 配置的 web 应用设置缺省值的文件)doc 包含关于 Tomcat 的各种各样的文档。common 在其 lib 目录下,主要存放如 JDBC 的驱动程序等lib 包含被 Tomcat 使用的各种各样的 jar 文件。在 UNIX 上,任何这个目录中的文件将被附加到 Tomcat 的 classpath 中。 logs Tomcat 的 log 文件。src servlet API 的源文件。webapps 包含 Web 应用的程序 (JSP、Servlet 和 JavaBean 等)work由 Tomcat 自动生成,这是 Tomcat 放置它运行期间的

35、中间(intermediate)文件(诸如编译的 JSP 文件)地方。 如果当 Tomcat 运行时,你删除了这个目录那么将不能够执行包含 JSP 的页面。本系统由 Myeclipse 部署至 TOMCAT6。0 服务器中。3.2 MYSQL 的介绍MySQL 是最受欢迎的开源 SQL 数据库管理系统,它由 MySQL AB 开发、发布和支持。MySQL AB 是一家基于 MySQL 开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL 是一个数据库管理系统:一个数据库是一个结构化的数据集合。如果要添加、访问和处理存储在一个计算机数据库中的数据

36、,你就需要一个像 MySQL 这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。MySQL 是一个关系数据库管理系统:关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的 SQL 代表 “Structured Query Language”(结构化查询语言) 。SQL是用于访问数据库的最通用的标准语言,它是由 ANSI/ISO 定义的 SQL 标准。SQL标准发展自 1986 年以来,已经存在多个版本:SQL-86 ,SQL

37、-92,SQL:1999 ,SQL:2003,其中 SQL:2003 是该标准的当前版本。MySQ 是开源的:开源意味着任何人都可以使用和修改该软件,任何人都可以从 Internet 上下载和使用 MySQL 而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。本系统采用 MySQL 5.0.8 版本。3.3 Myeclipse 的介绍说到 Myeclips 先得说下 Eclipse,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集

38、,包括 Java 开发工具(Java Development Tools,JDT) 。MyEclipse 是什么? 简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 16 页大的 J2EE 集成开发环境,支持代码编写、配置、测试以及除错。所以作为本次毕业设计 IDE 工具的不二人选。更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 17 页4. 网络课程答疑系统的总体设计4.1 系统的需求分析项目目标:本软件功能大致分为三大模块:学生模块,教师模块和管理员模块。学生模

39、块:学生用户进行操作的模块。教师模块:教师用户进行操作的模块。管理员模块:管理员用户进行操作的模块。具体各用户需求分析:1。学生用户的需求分析学生登录后可以选择查看个人资料或者进入答疑系统,进入答疑系统后可以提出问题,问题提交给服务器端,并在服务器端进行检索。若检索成功,则返回答案给客户端浏览器;若没检索成功,学生还能将问题设置为未解题目等待教师的解答。若教师解答了此题目,当学生下次查看自己问题时即可看到老师回答的答案。2。教师用户的需求分析教师登录后可以选择查看个人资料或者进入答疑系统,进入答疑系统后可以查看未解题目,对未解问题的解答,教师还可以进行题库的管理操作,给题库添加删除修改章节,章

40、节关键字,章节标准答案,标准答案的关键字。让题库能适应学生的要求。3。管理员用户的需求分析管理员登录后可以为对用户的管理操作和个人信息的修改。4.2 系统的总体设计4.2.1 系统总结构设计系统结构采用 B/S 结构:B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在

41、网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN )服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便更多相关文档资源请访问 http:/ 68661508 索要共

42、64 页 第 18 页的考虑方法。这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO) 。以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问

43、和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。4.2.1 系统流程图系统流程图如(图 4-1)所示图(4-1)4。2教师用户未登陆用户管理员用户答案库人员注册、登陆注册、登陆注册、登陆管理管理管理回答题库置入 问题查询问题库学生用户管理。1 系统用例图设计系统用例图如(图 4-2)所示更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 19 页图 4-24.2.2 系统的分层和技术选用本系统的分层结构以及技术选用: (图 4-3)图 4-3在整体

44、设计模式上采用 StrutsMVC 模式的 B/S 架构各层的技术选用:在表现层:选用 Struts,JSP 为主要表现技术。需在 Web。xml 中添加:serviceLocator表示层StrutsStruts Action,ActionForm,Jsp,Struts-config.xml,etc.DAO ClassesJavaBeanHibernate session Management持久层HibernateDataSourceTransactionsBusiness Service ClassesQueryLanguage Support and other Hibernate S

45、ervices更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 20 页ActionServletorg.apache.struts.action.ActionServlet1ActionServlet*.do在业务层:选用 JavaBean 为主要技术,负责业务的操作。在持久层:选用 Hibernate 为主要技术,负责对持久对象的操作。由于使用 Hibernate 为持久层,所有与数据库连接的工作只需要在hibernate。cfg 。xml 配置就行,hibernate。cfg。xml 部分代码如下:com.mysql.jdbc.Driverjdbc:mysql

46、:/127.0.0.1:3306/qa_sysrootsuyuejiaorg.hibernate.dialect.MySQLDialect在数据库层上:选用开源的 MySql 为数据库。4.2.3 各层之间的连接:工厂模式。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性和低耦合的目的。跟为系统以后的扩展提供了良好接口。以 DAOFactory 为例,/产生 DAO 的工厂,绑定在线程上面,单例,线程安全。public class DAOFactory private static ThreadLocal threadLocal = new Threa

47、dLocal();private DAOFactory()public static DAOFactory getInstance()DAOFactory daoFactory=threadLocal.get();if(daoFactory=null)更多相关文档资源请访问 http:/ 68661508 索要共 64 页 第 21 页daoFactory=new DAOFactory();threadLocal.set(daoFactory);return daoFactory;public Object getDAO(String daoName) throws QAExceptiontryreturn Class.forName(daoName).newInstance();catch(Exception ex)throw new QAException(ex);Globals 类代码如下:public class Globals public static final String USER_DAO=“com.ahu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报