1、本科毕业论文(科研训练、毕业设计)题 目:基于 B/S 架构下的管理软件设计与开发姓 名:学 院:软件学院系:专 业:软件工程年 级: 学 号: 指导教师: 职称: 年 月摘要摘要B/S(Browser/Server)架构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 架构的一种变化或者改进的结构。随着 B/S 架构的发展和成熟,基于 B/S 架构的管理软件越来越多的应用到实际领域中,它的出现引起了传统管理软件开发方式的巨大变革。教学与科研辅助系统是一个基于 B/S 架构下的教学与科研资源共享平台,它不单单是一个网站,同时也是一个基于 B/S 架构下的管理系统。采用这
2、样的设计可以更好的满足用户的功能需求,为教师和学生提供一个易于管理,便于维护,实时交互的平台。项目主要功能模块分为:教学与科研资源系统、教学与科研管理系统、在线答疑系统、校友管理系统。通过对多种实用功能的整合来提高系统的整体性能。论文先从整体上分析了整个系统的功能需求和整体设计,接着详细描述了教学与科研资源子系统的具体实现。最后介绍了该系统使用到的关键技术及其具体应用。这样以教学与科研资源子系统为例子可以让读者更深刻的体验到 B/S 架构下系统开发的方法。最后,这个项目并不是功能齐备的,还有许多地方有待日后扩展与完善。维护它也将是一个长期的工作。关键词: B/S 架构 Web 管理软件Abst
3、ractAbstractB/S(Browser/Server)structure is the framework of browser and server, is it is developing with the technology of the internet. It is a revolution of the C/S structure. With the development of the B/S structure, the management system based on B/S structure has been used in the practical ap
4、plication more and more. The advent of it is making enormous changes to the traditional way of building the management software. Teaching and research support system, which is based on the B/S structure, is a platform of sharing the resources of teaching and research It is not only a web site, but a
5、lso a management software which is based on the B/S structure. To design by this way can do a better job to satisfy the function requirements of the user. It is a platform for teachers and students, which is easy to manage, easy to vindicate and able to real time communicate. Its main function can b
6、e divided into: teaching and research resources sharing, the management of teaching and scientific research, online answering system, schoolfellow management. By integrating these useful function in order to improve the overall performance of the system.This paper generally analysis the entire syste
7、m of functional requirements and the overall design firstly, followed by a detailed description of achieving the subsystem of teaching and researching resources. Finally, it introduces the key technologies and their specific applications of this system. Using the subsystem of teaching and researchin
8、g resources as an example allows readers to experience the system developing approach more profoundly under the B/S structure.Lastly, the project is not self-contained, we should regard the maintenance and consummate as a long-term work.Keywords: B/S structure Web Management Software目录目录第一章 绪论 11.1
9、引言 11.2 研究现状与意义 21.3 论文的组织结构 2第二章 项目分析与设计 32.1 任务与目标 32.1.1 任务 .32.1.2 目标 .32.2 开发工具及其环境 32.2.1 开发工具介绍 .32.2.2 开发语言 .42.2.3 其他开发环境 .42.2.4 J2EE 平台框架结构 42.3 系统总体分析 52.3.1 数据需求 .52.3.2 功能需求 .62.3.3 数据流图 .72.3.4 可行性分析 .82.4 系统总体设计 .102.4.1 功能模块设计 102.4.2 系统架构设计 102.5 本章小结 .11第三章 功能实现 .123.1 登录模块 .123.2
10、 教学资源展示模块 .153.2.1 课程信息展示模块 .163.2.2 教学资源下载模块 .193.2.3 教学视频在线播放模块 .233.3 教学资源发布模块 .253.4 数据库设计 .293.5 本章小结 .31第四章 关键技术 .324.1 B/S 架构与 C/S 架构 .324.1.1 B/S、C/S 架构简介 .324.1.1 管理软件技术发展 .324.1.2 B/S 架构管理系统的技术优势 324.1.3 B/S 架构管理系统的成本优势 344.2 JSP 与 Servlet354.3 JDBC 技术 364.3.1 JDBC 的执行过程 36目录4.3.2 JDBC 的事务
11、处理 374.4 本章小结 .39第五章 总结与展望 .405.1 总结 .405.2 展望 .40致谢 42参考文献 43ContentsContentsChapter 1 Introduction 11.1 Preface 11.2 Background and Research Status21.3 Organization Structure 2Chapter 2 Total Design and Analyse 32.1 Task and Goal.32.1.1 Task 32.1.2 Goal 32.2 Tools and Environment .32.2.1 Introduce
12、 of Tools .32.2.2 Languages 42.2.3 Other Environment42.2.4 Structure of J2EE Platform .42.3 System Analyse52.3.1 Data Requirement.52.3.2 Function Requirement.62.3.3 DFD.72.3.4 Feasibility Analyse 82.4 Truss Design 102.4.1 Design of Function Module .102.4.2 Design of System Truss102.5 Summary.11Chapt
13、er 3 Particular Design 123.1 Login Module123.2 Teaching Resources Sharing Module 153.2.1 Introdution of Course Module163.2.2 Download Teaching Resources Module .193.2.3 Teaching Vidio Online Player Module.233.3 Upload Teaching Resources Module .253.4 Design and Guide of Database .293.5 Summary.31Cha
14、pter 4 Key Technology 324.1 B/S structure.324.1.1 B/S and C/S 324.1.1 The Development of Management Software 324.1.2 Technical Advantage of B/S Management Software 324.1.3 Cost Advantage of B/S Management Software 344.2 JSP and Servlet 354.3 JDBC .364.3.1 JDBC Execution364.3.2 JDBC Transaction Proce
15、ssing37Contents64.4 Summary.39Chapter 5 Conclusions and Prospect405.1 Conclusions405.2 Prospect40Acknowledgements42References 43第一章 绪论1第一章 绪论1.1 引言教与学从来都是不可分割的整体。随着我国经济、社会的不断发展,高等教育大众化和国际化的特征越来越明显,高等学校正面临着越来越大的社会及高校之间的竞争压力,同时由于近些年来高校扩招的推行,教师的教学压力也随之增大,教师与学生之间的交流互动也成为了人们日益关注的焦点。保证教师与学生之间的联系是保证教学质量的重要
16、环节。如何帮助教师在有限的精力下能够更好的和学生进行交流已经作为一个教学过程中的重要问题而引起了人们的注意。教师教学辅助系统是一个搭建在教师个人电脑上的网站系统。它作为连接教师与学生的桥梁,帮助教师与学生之间保持联系,交互信息,在提高教师教学质量的同时又减轻了教师的压力,让教师能够更有效率,更加快速的完成与学生的交流。目前流行的教师教学辅助系统还有很多不足。例如:教师需要将资源上传到服务器上,教师无法自由控制系统,只能在搭建好的框架下进行发布,缺乏灵活性;一般系统都是完全公开的,有一些内部交流的资源不适合发布到系统上;而且目前主流的类似系统也只提供资源浏览、下载功能具有一定的局限性;教师和学生
17、之间缺少交流互动的平台,起到的教学辅助作用不大等一系列问题。面对这些问题,设计时考虑改良现状而制作一种新的网站,使得教学辅助系统能够真正的达到提高教学质量、教学效率的作用。我们在进行系统设计时从实际应用角度出发,扩展系统功能,以提高系统质量。整个系统整合了教学资源发布平台,教学管理平台,教学交流平台,校友平台。使得系统的功能更加丰富,更好的帮助教师和学生之间实现交流、互动。并且系统直接搭建在教师的个人主机上。这样做的优点如下:(1)提高了系统资源的利用效率,方便了教师对于资源的管理(2)有利于教师将自己的想法和意图及时传递给学生,学生也能及时的反馈问题。(3)帮助教师更好的管理学生,更便捷的了
18、解学生学习、研究状态。(4)加强了教师与学生,学生与学生间的交流,提高学习效率。基于 B/S 架构的管理软件设计与开发21.2 研究现状与意义1. 现状:随着 B/S 架构的发展, B/S 架构已经不仅仅局限于简单的页面浏览,而是应用到了越来越多的方面。例如基于 B/S 架构的实时聊天系统,基于 B/S 架构的网页下载软件等。可以看到计算机软件系统的未来发展方向 1。同样管理软件系统也面临着这场方向性的变革。越来越多的管理软件开始采用 B/S 架构进行设计和开发。采用 B/S 架构开发的管理软件可以使系统用户更方便、灵活的进行使用,具有很多单机软件或 C/S 架构下管理软件无法实现的优点 2。
19、B/S 结构的管理软件有着 C/S 结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么已经是 B/S 结构的,要么正在经历从 C/S到 B/S 结构的转变。从国内诸多软件厂商积极投入开发 B/S 结构软件的趋势来看,B/S 结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。2. 意义随着网络技术的快速发展、网络硬件条件的不断提高以及企业自身分布式处理的需求使得 Web 应用越来越广泛。前几年在软件开发中出现的一个重要革命,就是由 C/S 结构到B/S 结构的转变 3。B/S 架构下的管理软件的开发可以带来很多优势 4,无论从成本上还是技
20、术特点上都具有 C/S 架构无法实现的优势。因此以教学辅助系统的设计开发为实例,进一步对 B/S 架构下管理软件的优势进行分析和学习,从而学习开发 B/S 架构下管理软件的方法,展示该类软件的优势。1.3 论文的组织结构第一章 先是介绍基于 B/S 架构的教学与教研辅助系统的项目背景。然后分析国内外B/S 架构下的管理软件的发展现状,并阐述研究的实际意义和市场价值。第二章 对项目的系统总体需求进行分析包括数据需求、功能需求等,并且对教学与教研科研辅助系统的任务与目标、开发工具、系统总体设计进行详细分析。 第三章 详细介绍教学与科研资源子系统的设计、各功能模块设计及其具体实现方法,对系统中涉及到
21、得数据库设计进行阐述。第四章 介绍教学资源子系统中用到的一些关键技术。具体描述了 B/S 架构下管理软件的优势,以及在实际项目开发过程使用到的一些基础技术。第五章 总结与展望。总结整个论文和项目,展望未来完善方向。第二章 项目分析与设计3第二章 项目分析与设计2.1 任务与目标2.1.1 任务教学与科研辅助系统是为了配合教育部下发的关于高等学校教学质量与教学改革的建设工作。通过对多个老师的调查,我们初步认识到该系统所应该具有的功能,并按功能将系统划分为四个部分:(1) 教学与科研资源共享:如教学课件、教学视频以及科研资源的上传下载。为老师发布教学案例、教学视频等提供空间支持和技术服务,学生还可
22、以方便的浏览或下载所需资源;(2) 教学与科研管理:如项目进度汇报,学生考勤管理,项目成果反馈等。为老师实现课上点名和对项目做出下一步要求功能,学生可以从中查询到考勤信息和项目要求并反馈自己的项目进度;(3) 在线答疑系统。师生可以在这个平台上互相交流,达到共同提高的目的,还可以使教师集思广益,有助于建设出更优秀更有质量的精品课程;(4) 校友管理。便于老师与校友及校友之间的联系和沟通,实现校友信息管理的网络化、智能化。2.1.2 目标教学与科研辅助系统的设计目标是制作一个面向广大教师和大学生的开放型教学与科研辅助系统,创建一个基于互联网的教学与科研资源共享平台,便于大学教师的教学科研管理以及
23、师生间资源共享和相互交流。本系统从大学教师的日常业务出发,充分提高教育与科研的网络化、电子化水平,方便大学教师的日常工作,进而能够大大提高教育与科研的效率。这种集合众多功能于一体的系统能大大减轻老师在教学过程中的负担。因此希望在未来的某一天,绝大多数老师都能用上这个系统。2.2 开发工具及其环境2.2.1 开发工具介绍(1) 集成开发环境:MyEclipse。MyEclipse 企业级工作平台(MyEclipse Enterprise 基于 B/S 架构的管理软件设计与开发4Workbench)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序
24、服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, JavaScript, SQL, Hibernate。(2) 数据库:MySQL,MySQL 支持标准的 ANSI SQL 语句,支持多种平台,在 Unix 系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于 Windows 用户,它可以在 Windows 所有系统上以系统服务方式运行. (3) 制作页面的软件:使用 DREAMEWEARWER 制作页面模板和美化页面,使用FLASH 制作动画效果,使用 EXT
25、使网页有动态效果。2.2.2 开发语言使用开发语言为 Java,Java 是一种简单的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言 5。Java 分为三个体系 J2SE,J2EE,J2ME。其中 J2EE 是一套全然不同于传统应用开发的技术架构,可简化和规范应用系统的开发与部署,进而提高可移植性、安全性和重用性。2.2.3 其他开发环境操作系统:Windows测试工具:NUnit-net-2.0软件建模:IBM Rational Rose,Microsoft Visio 2.2.4 J2EE 平台框架结构J2EE 平台由一整套服务、应用
26、程序接口和协议构成,它对开发基于 WEB 的多层应用提供了功能支持。J2EE 应用的组件如企业 JavaBean(EJB) 、JSP 和 Servlet 运行于 J2EE容器之中,通过连接器访问企业信息系统,如数据库系统、ERP 系统和其他应用程序系统 6。J2EE 应用可以集成一系列的客户端,包括独立运行的台式客户端、无线客户端,以及基于Web 浏览器的客户端等。J2EE 平台为开发企业应用提供了高性能、高可靠性和可伸缩性的运行支撑环境。J2EE 提供了一个多层的端到端的应用系统架构,如图 2.1 所示。客户端可通过多种不同的协议来访问中间层的 J2EE 服务,在设计 J2EE 应用的时候,
27、首先需要选择的就是 J2EE 客第二章 项目分析与设计5户端的类型,应根据用户的使用模式及应用环境的特点来选择适合的客户端类型。在中间层,主要包括 Web 服务器和应用服务器 7。在实际部署时,它们可以运行于单一的或多个物理平台上。从可靠性和可伸缩性考虑,应该采用多个 Web 服务器和应用服务器。Web 服务器接受从客户端发来的请求,通过 JSP 和 Servlet 技术动态生成响应的内容,JSP或 Servlet 可以接着调用运行于应用服务器 EJB 容器中的企业 JavaBean 进行相应的业务处理和运算。而中间层通过标准的协议访问企业信息系统层来读取数据和调用服务。 图 2.1 多层应用
28、系统架构图 8 总之,J2EE 为我们提供了一个建立在开放和标准的技术之上、非常灵活的端到端的多层体系架构,从而满足各种不同企业应用的需求。2.3 系统总体分析2.3.1 数据需求网站主要数据需求及来源:用户个人信息(不开放注册):包括姓名、学号、密码、电话、邮件信息等,通过教师输入学号及密码,在学生登录系统后自行填写用户信息。 (由于系统不能开放注册因此不提供注册功能,学生帐户由教师提供,教师只需提供给学生学号,密码)课程信息:包括课程名称、 、课程用书、教学课程简介等,由教师编辑并录入系统。课件/视频资源:包括资源名称、相关课程名称、资源路径等,通过发布资源功能录入系统。基于 B/S 架构
29、的管理软件设计与开发6答疑系统用户信息(开放注册):包括用户名、密码、性别、电子邮箱、签名档、用户级别等信息,由用户在注册时自己输入。 。答疑系统论坛信息:包括 ID、论坛名、版主等信息,由系统管理员创建管理。答疑系统主题信息:包括 ID、标题、内容、作者、提交时间、论坛 ID 等,由系统用户在发布新主题时录入。答疑系统回复信息:包括 ID、标题、内容、作者、提交时间、主题 ID 等信息,由系统用户回复主题时录入。项目信息:包括项目 ID、项目名称、项目时间等,由教师用户在创建项目时输入。项目进度信息:包括项目 ID,项目时间,项目进度反馈等,由学生用户在反馈项目进度时输入。点名信息:包括课程
30、名称,学生学号,学生姓名,缺席次数等,由课程创建时产生,教师输入学生信息时录入,教师课堂点名时编辑。2.3.2 功能需求(1) 注册功能(答疑系统):用户可以注册,需要填写个人信息。用户可以编辑修改个人信息。(2) 登录功能:用户可以通过登录进入网站,不同的登录将会有不同的操作模块。主要类别是教师用户、学生用户、管理员用户(部分子系统中设置)(3) 资源管理:教师用户登陆主页后可选择新建一门课程,生成课程网页框架,然后可以添加资源、删除资源等。(4) 浏览功能:用户进入系统后可以进入网站浏览课程网页,浏览在线教案或者视频资源,查看个人点名情况等,可以在答疑系统,校友录系统下浏览信息等。(5)
31、下载功能:用户可以下载课件、视频等课程资源。(6) 留言功能:用户可以在答疑系统、校友录系统下进行留言,发布信息等操作。(7) 上传功能;学生用户可以在进入系统后使用上传功能传输项目成果到教师主机上。系统整体用例图图 2.2:第二章 项目分析与设计7图 2.2 系统总体用例图 2.3.3 数据流图根据网站的数据和功能需求,画数据流图如图 2.3,2.4:图 2.3 网站数据流图第 0 层 图 2.4 网站数据流图第 1 层基于 B/S 架构的管理软件设计与开发82.3.4 可行性分析(1) 系统应用性分析:系统具有良好的社会效益和开发前景,初步调查显示目前同类型网站的中还没有单独为教师个人建立
32、,搭建在教师个人电脑主机上的网站系统。该网站结合了多种功能模块,搭建起了一个功能较为完整的教师与学生互动交流的平台。同时兼具了教学资源发布共享,教学项目管理控制,教学内容答疑讨论,教师所有学生(包括毕业学生)交流联系等功能。在教师和学生中建起了一条沟通的桥梁,使得学生和老师之间可以实现实时的互动,提高学生学习效率和教师的办公效率。通过调查学生和教师的意见,系统的功能实用性得到了学生和教师的一致肯定。(2) 系统开发人员分析该项目前期由 4 位同学(一位同学在外地,单独负责一个相对独立的模块)在 3 个月内完成,通过讨论、前期调研和详细的规划设计,认为基本功能可以如期实现。(3) 系统开发主要难
33、点分析:技术上的难点有:J2EE 开发技术的学习与应用、数据库的设计与连接、一些较为复杂的功能模块的设计与实现。由于 4 位同学都没有 J2EE 开发经验,因此技术的学习和使用作为一个难点。而数据库设计时涉及到一些比较负责的数据库直接的关系以及动态添加一下内容,例如点名系统中涉及到的数据库设计,因此作为一个难点提出。而一些功能模块开发设计上有一些难度也作为技术难点提出。人员沟通上的难点:由于有一名成员无法和其他成员在一起完成项目,因此在项目开发在个人交流部分会出现一些困难。(4) 开发难点解决分析:解决计划是学习 J2EE 技术等相关知识,研究一些相关可以使用的新技术新特点,分配较多的时间仔细
34、完成前期需求,保证在项目实施过程中能够基本按照需求进行,避免大量改动的需求、导致的系统开发困难。同时在进行系统开发前设计的时候要做到尽量细致、考虑周全,在数据库设计的时候考虑功能实现时的具体方法,避免由于设计考虑不周,导致在实现功能时出现大的困难,使功能实现无法正常进行下去,避免出现项目开发过程中出现项目设计和数据库设计较大规模的改动。将一个相对较为独立的模块交给在外地完成项目的成员,减少因沟通困难导致的系统开发问题。(5) 参考资料分析:第二章 项目分析与设计9可获取的资料有个人以往开发的项目,还有各类 J2EE 网站开发参考教材,MySQL 相关教材,软件工程,UML 相关教材,网页设计,
35、网页效果相关教材,一些技术网站的信息。(6) 开发环境分析:系统内存 1G,硬盘 120G,采用 WINDOWS XP 操作系统,系统硬件足以充分保证前期开发过程中的各项指标。(7) 项目计划分析:任务时间安排为 2 个月时间规划技术学习,需求、数据库,1 个月制作。通过前期比较长时间的学习、规划和设计来保证接下去项目实施开发过程中,能够较为顺利的完成工作。2.4 系统总体设计2.4.1 功能模块设计该网站主要分为该网站主要分为教学与科研资源系统、教学与科研管理系统、在线答疑系统、校友管理系统四个部分。教学与科研资源系统又可分为登录模块、教学资源展示模块、教学资源发布模块。教学与科研管理系统又
36、可分为学生考勤管理模块、项目进度及反馈模块、课程和项目创建模块、项目成果共享模块。系统功能结构图 2.5 所示:图 2.5 系统功能结构图基于 B/S 架构的管理软件设计与开发102.4.2 系统架构设计系统设计为三层架构,这三层架构分别是:表示接口层、事务逻辑层和数据库访问层。三层架构应用程序中,表示层包括提供图形用户界面的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑可放在服务器或者其他共享主机上,它作为响应客户端所发出的客户请求的服务器,同时又作为数据库访问层的客户端,并且决定需要什么数据及数据存储在哪里。三层体系的应用程序讲业务规则、数据访问、合法性校验等工作放到中间层处理。通
37、常情况下,客户端不直接与数据库进行交互,而是通过与中间层建立连接,再经由中间层与数据库进行交互。第三层包括数据库以及处理读写以及访问数据库的程序。这种设计的优点是符合客户/服务器模式,各层可以同时开发,并且可以由不同的程序员组用不同的语言开发,因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。三层架构图 2.6 所示:图 2.6 系统三层架构图教学与科研辅助系统开发中,在 src 文件夹中建立 default package 和 myclasses 子文件夹,分别表示事务逻辑层和数据访问层,然后在各文件夹中编写相应层的代码,webroot文件夹下为表示层的文件。如图
38、 2.7:第二章 项目分析与设计11图 2.7 集成开发环境中的三层架构实现 2.5 本章小结本章主要是从整体上分析介绍教师教学科研辅助系统。首先叙述了整个项目开发的任务和目标;说明了开发过程中使用的工具以及开发的环境。接下来从教师教学科研辅助系统总体上分析了整个系统的需求,并且详细描述了系统的总体设计。第三章 功能实现12第三章 功能实现3.1 登录模块登录模块分为两个部分,一部分是学生登陆部分,另一部分是教师登陆部分。这两个部分分别由两个单独的页面实现,功能效果基本相同,登陆成功后分别进入学生系统和教师系统。登录模块功能结构图如图 3.1 所示:用户登录教师登录登录系统学生登录图 3.1
39、登录系统功能结构图 (1) 系统分析:对于学生登录部分,由于本系统用于针对教师个人的教学资源及管理系统,因此系统不支持开放注册用户,在学生登陆模块下,只提供登陆功能不提供注册功能,并且不支持匿名访问。教师登录部分由于系统是搭建于教师个人电脑上,并不涉及到其他教师用户的注册,因此教师登录部分也只提供登录功能,不提供注册功能。学生在登陆后将进入系统主页面,可以在页面下查看教师开设课程的信息介绍;进行教学课件,教学视频的下载,浏览;提交个人项目进展情况;上传个人项目成果。教师登陆界面相当于网站后台入口,教师使用固定帐户进行登陆,登陆后进入教师管理页面。教师可以在以页面下管理课程信息;上传管理教学资源
40、;管理科研项目等。(2) 系统流程:基于 B/S 架构下的管理系统设计与开发13系统用户的登录过程从输入用户名、密码开始,登录模块首先对用户输入的数据格式进行校验,然后检查数据库中是否有对应的用户名、密码信息:如果不存在则将页面跳转至系统主界面下,完成用户登录过程。在这个过程中如果用户输入数据内容或者有误都将看到系统给出的提示,指导用户正确的完成登录过程。用户登录流程图如图 3.2 所示:进入登陆页面填写用户名密码提交登陆信息基本信息验证提示错误信息进入主页面验证失败验证成功图 3.2 用户登录流程图 系统用户在完成登录过程后将会由系统保存他的登录信息,通过 session 来控制用户的权限。
41、教师将得到管理员权限,学生将得到用户权限。系统页面中都加入了 session 的验证部分,当用户不通过登录而直接跳转入系统内部网页时,页面将会自动跳转回登录页面,保证系统的安全性。系统用户登录流程时序图如图 3.3 所示: 用户登录模块 数据模块1 输入用户名 , 密码4 . 读取数据库中用户信息5 . 验证用户名密码是否正确7 . 将用户名放入 s e s s i o n2 . 验证用户名密码是否输入3 . 输入不完全时提示信息6 . 未通过验证时提示错误图 3.3 登录模块时序图 (3) 页面设计学生登录页面效果如图 3.4 所示:第三章 功能实现14图 3.4 学生登录页面效果(4) 功
42、能实现登录验证:登录界面作为整个系统的起始页面,主要作用就是控制系统访问人员,用户需要有用户名密码才能够进入系统,对系统提供的功能进行操作。而其中的主要的功能部分就是登录验证。登录验证的内容包括用户名为空验证,密码为空验证,用户名密码匹配验证三部分。学生登录页面为 Index.jsp。在该页面下主要实现页面的静态设计部分,以及用户名为空验证,密码为空验证。通过使用 JavaScript 添加 sub()方法,当用户点击登录按钮的时候,系统并不直接将数据传入到 servlet 中而是先调用 sub()方法,在 sub()中判断用户是否已经输入了完整的信息,即用户名,密码是否输入。如果有没输入的项
43、目则弹出警告框,提示用户输入未输入的部分。如果用户已经完整输入了所需要的信息,则将用户输入的用户名、密码值传入到 login.java 这个 servlet 中。login.java 将会连接到数据库中,对在传入的用户名、密码信息进行比对,如果找到数据库中有用户名、密码完全匹配的记录,则记录下改用户的用户名作为 session,即赋予用户将通过验证进入到系统主界面下,如果比对完成后未发现匹配记录则提示用户,输入的用户名、密码有错误,这种情况下用户需要重新回到登陆页面下,输入用户名,密码。连接数据库:在读取数据库数据的过程中要用到几个 Java 提供的程序接口 12。基于 B/S 架构下的管理系
44、统设计与开发15Connection 接口,Statement 接口:Connection 接口对象用于 Java 应用程序与数据库的互连,它可以用于建立各种执行SQL 语句和存储过程的 Statement 对象。同时,Commection 对象中也可设置事务处理的各种连接参数。Statement 接口由 Connection 对象建立,用于执行标准的 SQL 语句和存储过程。它提供的两个主要方法是:executeQuery()和 executeUpdate().这两个方法用于执行SQL 查询和更新。executeQuery()方法的返回类型是 ResultSet 对象.具体使用代码如下:Co
45、nnection cn = DriverManager.getConnection( “jdbc:mysql:/localhost:3306/mysql“, “root“, “123“ ); Statement smt = (Statement) cn.createStatement();String sql = “select * from user“;ResultSet rs=smt.executeQuery(sql);3.2 教学资源展示模块教学资源展示模块主要针对学生用户。该模块为学生提供一个教学资料浏览下载的平台,也是教师发布教学资源后的展示平台,将学生和教师联系起来。学生用户通过访
46、问该模块,可以了解教师所开设课程的基本信息,下载教学课件,教学视频,在线观看教学视频等,辅助学生的学习。教学资源展示模块功能结构图如图 3.5 所示: 教学资源展示模块课程信息展示教学资源浏览下载教学视频在线播放图 3.5 教学资源展示模块功能结构图第三章 功能实现163.2.1 课程信息展示模块课程信息展示模块提供展示教师所开设的课程的基本信息,主要包括课程名称,课程用书,课程简介等。使学生用户能够直接的了解教师教授的课程,尤其通过对教师开设的选修课有一个基本的了解可以帮助学生用户选择自己真正想要学习的课程。(1) 系统分析系统主要提供一个教学课程基本信息的展示平台,学生用户通过点击课程名称
47、就可以进入到该课程的信息页面中去,在信息页面下,学生用户将可以看到所选择课程的基本信息。(2) 系统流程用户点击链接进入课程信息展示模块后将看到课程列表,用户点击所要浏览的课程名称将进入课程信息的展示界面。课程信息展示模块流程图如图 3.6 所示:进入课程列表页面选择课程进入课程信息页面图 3.6 课程信息展示模块流程图 用户在点击进入到课程列表页面时,系统将会连接数据库,从 course 表中提取出所有课程的课程名称,并将它们显示出来,当用户选择一门课程后,系统将跳转到另一个页面中去,并且将选中的课程名称传输到下一个页面程序,此时再次连接数据库,读取该课程的信息并显示出来。课程信息展示模块时
48、序图如图 3.7 所示:基于 B/S 架构下的管理系统设计与开发17用户课程信息模块数据模块1 进入系统2 读取数据库中所有课程名称3 所有课程名称数据4 课程列表5 选择课程6 读取对应课程信息7 对应课程信息8 课程信息展示图 3.7 课程信息展示模块时序图(3) 页面设计课程列表页面效果如图 3.8 所示:图 3.8 课程列表页面效果 课程信息页面效果如图 3.9 所示:第三章 功能实现18图 3.9 课程信息页面效果 (4) 功能实现课程列表页面为 CourseList.jsp 页面。进入页面时,首先连接数据库中的表 course,读取其中所有的课程。然后使用循环语句依次输出课程,形成
49、课程列表。主要代码如下:while(rs.next()out.println(“);out.println(rs.getString(“name“)+“ “);使用 out.println 的方式输出静态页面,并由 while()控制,完成整个课程列表的输出,产生课程列表页面。点击选择课程后,将触发 click 事件,调用方法,方法中使用下面一句代码作为跳转语句 13:window.location.href=“./CourseInfo.jsp?coursename=“ +n;其中“?coursename=“ +n;”部分就是将所选中的用户名传入到下一个页面。基于 B/S 架构下的管理系统设计与开发19跳转到 CourseInfo.jsp 后,程序将再次连接数据库,使用 SQL 查询语句找到对应的课程,并且使用与输出课程列表相同的方法将读到的数据显示在页面上,从而完成课程信息显示的功能。3.2.2 教学资源下载模块教学资源下载模块主要包括教学课件下载,教学视频下载主要由两个部分组成,用户登录后可以随时随地下载教师提供的教学课件,教学视频。方便学生进行学习。(1) 系统分析教学资源下载模块主要是给用户提供教学资源下载的平台,通过使用通用的下载方式使两个部分的下载统一起来。用户只需要找到相应课程,进入课程下的资