1、本科毕业论文(20 届)在线答疑系统的设计与实现所在学院 专业班级 信息管理与信息系统 学生姓名 学号 指导教师 职称 完成日期 年 月 第 2 页 共 40 页 2目录摘 要 .3Abstract.41 绪论 .51.1 课题背景及意义 .51.2 国内外研究现状 .51.3 论文的主要工作 .61.4 论文的章节安排 .62 课题相关技术介绍 .72.1 系统开发技术 .72.1.1 My SQL 的特点 .72.1.2 B/S 结构 .82.1.3 Java EE 技术架构 .82.1.4 Struts2 框架 .82.1.5 Spring 框架 .92.2 本章小结 .103 在线答疑
2、系统的需求分析 .113.1 系统的总体设计目标 .113.2 系统的可行性分析 .113.2.1 经济可行性分析 .113.2.2 技术可行性分析 .123.2.3 操作可行性分析 .123.3 系统的功能分析 .124 在线答疑系统的设计和实现 .144.1 在线答疑系统语言国际化和本地化的实现 .144.2 学生端子系统的设计与实现 .164.2.1 学生端子系统的设计 .164.2.2 学生端子系统的实现 .194.3 教师端子系统的设计与实现 .264.3.1 教师端子系统的设计 .264.3.2 教师端子系统的实现 .264.4 管理端子系统的设计与实现 .334.4.1 管理端子
3、系统的设计 .334.4.2 管理端子系统的实现 .344.5 本章小结 .41主要参考文献 .43致 谢 .44第 3 页 共 40 页 3在线答疑系统的设计与实现摘 要时下,我国的教育形式大部分还是集中在教室,老师把知识传授给学生,学生下课后只能依靠记忆和课堂笔记复习,同学之间和师生之间的讨论和研讨难以展开,学生对课堂所学的知识不能做到反复学习,随着互联网的普及以及学校校园网建设的完善,在学校教育教学中网络的运用越来越普遍。网络教学环境下,教师不但要有运用现代信息技术进行网上教学的能力,还要能够在学生课后学习充分发挥师生的互动及交流。对于教师来说,难于满足很多学生的答疑及面对面交流。基于网
4、络的自主学习环境是一种有效支持学生进行自主学习的新型教学环境,它有助于培养学生发现问题、提出问题、解决问题和创新的能力,有助于培养学生独立自主和合作互助的学习精神,也有助于促进学生信息素养的形成。最好的办法是师生能够在网络环境下实现在线答疑,并充分利用网络环境实现答疑资源的共享。本课题研究的目标就是利用 Java 技术开发一个独立的交互式在线答疑平台,这个系统集成常见的网络教学工具和大部分的网上交互功能,为教师提供交互式在线答疑。教师只要进入自己相关课程进行与学生在线答疑,就可以轻松的构建出一个充满交互功能的在线答疑平台。在本系统中,包括了三大子系统即:学生端子系统、教师端子系统、管理端子系统
5、。其中,学生端子系统主要是提供给学生登录并进行参与答疑,教师端子系统是提供给教师登录并进行管理自己的学生和进行答疑,管理端子系统是管理相关的内容和用户。关键字:Java 技术,在线答疑,MVC 设计模式 第 4 页 共 40 页 4The design and achieve of online FAQ systemAbstractNowadays, our countrys education forms most concentrated in the classroom. The teacher is imparting knowledge to students after class
6、. The students can only rely on memory and lecture notes. Students and teachers review between the discussion and study hard between students in the classroom. The knowledge and learning, do with the spread of the Internet and the school campus network construction. Education teaching in schools use
7、 of network is more and more common. Under the environment of network teaching, teachers should not only have use modern information technology, network teaching ability, also can be in the student after-school study adequately interaction between teachers and students and communication. For teacher
8、s, the students meet many of mutual learning and also help to promote students information literacy. The best way is to under network environment and realizing online FAQ and make full use of network e-questions and face-to-face. Based on the network environment of autonomous learning is an effectiv
9、e support students-self-study, the new teaching environment, it helps to cultivate students to find and solve problems, the ability to innovate and to cultivate the students independent and cooperative spirit questions realize resource sharing. This research goal is to use Java technologies to devel
10、op a separate interactive online FAQ platform, the system integration of common network teaching tools and most online interactive function, provide interactive online FAQ for teachers. Teachers into their respective curriculum and student online FAQ, can easily construct an interactive function of
11、online FAQ platform. In this system, including the three subsystems namely: students, teachers, terminals, terminal system, management system, system terminals, Among them, students terminal system is mainly provide login and participate in question-answering system, the teacher is to provide teache
12、rs terminals and manage their own login and q 运行在客户端机器上的客户组件,如应用客户端程序和 Applet,运行在 Java EE 服务器上的 WEB 组件,如 JS 和 JSP,运行在 Java EE 服务器上的业务逻辑层组件,如Enterprise Java beans,运行在 EIS 服务器上的企业信息系统层软件的 Java EE 应用程序组件。J2EE 组件是具有独立功能的软件单元,它们通过相关的类和文件组装成 Java EE 应用程序,并与其他组件交互。业务层组件代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的
13、 Enterprise bean 进行处理。企业信息系统层处理信息系统软件包括企业基础建设系统例如企业资源计划(ERP ) ,大型机事务处理,数据库系统,和其他遗留信息系统。2.1.4 Struts2 框架Struts2 的体系与 Struts 1 体系的差别非常大,因为 Struts2 使用了 Web Work 的设计核心,而不是使用 Struts 1 的设计核心。Struts2 大量使用拦截器来处理用户请求,从而允许用户的业务逻辑控制器与 Ser-API 分离。从数据流图上来看,Struts2 与 Web Work 相差不大,Struts2 同样使用拦截器作为处第 9 页 共 40 页 9
14、理(Advice) ,以用户的业务逻辑控制器为目标,创建一个控制器代理。控制器代理负责处理用户请求,处理用户请求时回调业务控制器的 execute 方法,该方法的返回值将决定了 Struts2 将怎样的视图资源呈现给用户。图 2-1 显示了 Struts2 的体系概图。图 2-1 Struts 2 的体系概图Struts2 框架的大致处理流程如下:浏览器发送请求,例如请求 /my page. action、/reports/my report .pdf 等。 核心控制器 Filter Dispatcher 根据请求决定调用合适的 Action。Web Work 的拦截器链自动对请求应用通用功能
15、,例如 workflow、validation 或文件上传等功能。回调 Action 的 execute 方法,该 execute 方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存数据库,也可以从数据库中检索信息。实际上,因为 Action 只是一个控制器,它会调用业务逻辑组件来处理用户的请求。Action 的 execute 方法处理结果信息将被输出到浏览器中可以是 HTML 页面、图像,也可以是 PDF 文档或者其他文档。此时支持的视图技术非常多,既支持 JSP,也支持 Velocity、Free Marker 等模板技术。2.1.5 Spring 框架Spring 框架
16、是一个 2003 年 2 月才出现的开源项目,该开源项目起源自 Rod Johnson在 2002 年末出版的Expert One-on-One J2EE Design and Development一书中的基础性代码。在该书中,Rod Johnson 倡导 J2EE 实用主义的设计思想,而 Spring 框架正是这一思想的更全面和具体的实现。Spring 框架由一个容器,一个配置和组织组件的框架,和一组内置的为事务、持久化和 Web 用户接口提供的服务组成。作为一种轻量级的 Java EE框架 Spring 提供了一种有效的方式来建立和组织 Java EE 应用程序。1、 Spring 特性
17、IOC(Inversion of Control;控制反转) ;又称 DI(Dependency Injection;依赖注入);是面向对象领域新兴的编程思想;也是 Spring 的精髓所在。简单地说; IOC 就是指程序之间的关系由容器来控制;而不是传统实现中由程序代码直接操控。这也就是所谓“控制反转”的概所在:控制权由应用代码转到外部容器,控制权的转移,也就是所谓的反转。IOC 将控制创建的职责搬进了框架中;并把它从应用代码脱离开来。当使用 Spring 的 IOC 容器时只需指出组件需要的对象,在运行时 Spring 的 IOC 容器会根据 XML 配置数据提供给它。Spring IOC
18、,借助于依赖注入设计模式,使得开发者不用理会对象自身的生命周期极其第 10 页 共 40 页 10关系,而且能够改善开发者对模式的使用。对于一个对象的管理不是什么困难,难就难在对整个对象群的管理。依赖注入可以让容器管理对象,即“Dont call me, I will call you”。这样对象本身的生命周期以及对象之间的关系就不再让开发者费神了。Spring AOP,借助于 Spring 实现拦截器,开发者能够实现以声名方式使用企业级服务,比如安全性服务、事务服务。AOP 合理的补充了 OOP,借助于 Spring AOP,开发者能够高效的使用 Java EE 服务。Spring 服务抽象
19、,借助于各种 Java EE API 抽象,使得开发者能够一致地使用 Java EE 技术,而不管具体是使用什么 Java EE API,借助于 Spring 服务抽象,使代码大大减少,满足“更少代码,更少 BUG”的软件设计原则。Spring IOC +Spring AOP+Spring 服务抽象,一起形成 Spring,这样一个有机体,使构建轻量级 Java EE 成为可能。Spring 提供的事务管理。Spring 提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活方便。Spring 的优势:1. 提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“黏合剂” 。2. 采用了分层结构,可以增量引入到项目中。3. 有利于面向接口编程习惯的养成。4. 目的之一是为了写出易于测试的代码。5. 非侵入性,应用程序对 Spring API 的依赖可以减至最小限度。6. 一致的数据访问介面。7. 一个轻量级的架构解决方案。2.2 本章小结本章主要介绍了与本课题相关的一些技术,这些技术主要有 My SQL、B/S 结构、MVC 设计模式、Java EE 技术架构。对于这些技术,主要从技术特点及应用做了简要的说明,通过对这些技术的介绍,可以对本文有更加深入的认识。