1、 毕业设计(论文)题 目 家教在线管理平台的设计与实现 作 者 院 (系)专 业 指导教师 答辩日期 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名:日 期:指导教师签名:日 期:使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规
2、定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日 期:学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年 月 日 学位论文版权使用授
3、权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年 月 日 导师签名:日期:年 月 日 注 意 事 项 1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明 3)中文摘要(300 字左右)、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论 7)参考文献
4、 8)致谢 9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图纸、程序清单等),文科类论文正文字数不少于 1.2 万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件
5、工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订 指导教师评阅书 指导教师评价:一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计
6、的整体结构是否符合撰写规范?优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:优 良 中 及格 不及格(在所选等级前的内画“”)指导教师:(签名)单位:(盖章)年 月 日 评阅教师评阅书 评阅教师评价:一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范?优 良 中 及格 不及格 2
7、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师:(签名)单位:(盖章)年 月 日 教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情
8、况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范?优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:优 良 中 及格 不及格 教研室主任(或答辩小组组长):(签名)年 月 日 教学系意见:系主任:
9、签名)年 月 日 榆林学院本科毕业设计(论文)I 榆林学院本科毕业设计(论文)I 摘 要 教育教学领域,传统家教信息沟通存在不便,创建家教在线管理平台,为家教教学双方沟通、交流、信息反馈提供极大便利。本文介绍了课题研究背景意义与现状,阐述了系统开发用到的理论、相关技术与开发模式,在此基础上,分析并设计、实现了家教在线管理平台的相应功能。首先,对该系统进行可行性、功能性和性能需求分析,划分系统功能为家教新闻、客户注册与登录、教师客户、学生客户、家长客户、留言消息、评论及反馈、管理员管理等八个功能模块。其次,采用了 B/S 体系结构和 MVC软件架构模式设计系统结构,创建了系统数据库模型;在详细
10、分析设计了系统业务流程的基础上,将系统分为前后台,其中前台满足访客注册、注册客户登录与使用系统功能,后台满足管理员登录与管理系统信息。最后在 Eclipse 开发环境下,使用 JSP、Servlet 等技术设计系统界面、编写代码,实现系统功能;并在 Tomcat 服务器和MYSQL数据库中部署。家教在线管理平台通过运行测试,系统功能与性能达到预期目标。关键字:家教在线管理平台;B/S;MVC;JSP 榆林学院本科毕业设计(论文)II The Designing and Implementation of Online Tutor Management System ABSTRACT In fi
11、eld of education and teaching,the communication of information of traditional tutor is inconvenient,so to create the Online Tutor Management System provides great convenience for both the tutor teaching to communication and exchange information feedback.This paper introduces the research background,
12、significance as well as status,and describes some theory and related technologies that are used in developing of this system.Based on them,the thesis analyses and designs to achieve the corresponding functions of the Online Tutor Management System.Firstly,it analyses the possibility,functionality an
13、d performance requirements.After that,it divides system functions into eight categories,they are tutor news module,client register and login model,teacher client model,student client model,parent client model,message board model,commenting and tickling model and background manager controlling model.
14、In addition,it designs the B/S architecture,maps out MVC pattern and then makes the database model.In the next place,the system is devided into foreground and background on the base of analyzing the service flow path at length.The foreground function models fulfill client register,login and use thei
15、r limits of power.Backstage supporter functions fulfill manager login and manage system information.Finally,under the Eclipse development environment,it uses technologies such as JSP,Servlet and so on to design system interface,writes code to achieve system function;and deploys the system in the Tom
16、cat service and MYSQL database.Online Tutor Management System operations well and could get throw tested successfully.Key words:Online Tutor Management;B/S;MVC;JSP 榆林学院本科毕业设计(论文)III 目 录 1 绪 论.1 1.1 课题背景与研究意义.1 1.1.1 课题背景.1 1.1.2 研究意义.1 1.2 国内外研究现状.2 1.2.1 当前中国大学生家教现状.2 1.2.2 家教网站现状.2 1.3 主要研究内容.3 1.
17、4 课题论文结构.3 1.5 小结.4 2 相关软件技术与开发模式.5 2.1 开发工具.5 2.2 开发语言.6 2.3 开发技术.7 2.4 开发模式.8 2.4.1 体系结构.8 2.4.2 系统软件架构设计.10 2.5 小结.12 3 需求分析.13 3.1 系统可行性分析.13 3.2 功能性需求分析.14 3.2.1 功能需求分析.14 3.2.2 用例分析.17 3.2.3 数据流分析.20 3.3 性能分析.22 3.4 小结.23 4 系统概要设计.24 4.1 系统功能模块设计.24 4.2 系统数据库设计.27 4.2.1 数据库需求.27 4.2.2 数据库概念设计.
18、28 4.2.4 数据库物理结构设计.32 4.3 小结.36 5 系统设计与实现.37 5.1 系统文件结构设计.37 5.2 模块业务流程设计.37 5.2.1 访客注册.37 榆林学院本科毕业设计(论文)IV 5.2.2 客户登录.40 5.2.4 管理员登录.44 5.2.5 管理员管理.45 5.3 系统实现重要代码.47 5.4 小结.48 6 系统运行测试.49 6.1 运行环境的搭建.49 6.2 系统测试.51 6.3 小结.57 7 总 结.58 7.1 遇到难题.58 7.2 设计收获.59 7.3 改进.59 参考文献.60 致 谢.1 榆林学院本科毕业设计(论文)1
19、1 绪 论 本章节阐述了论文课题背景和研究意义,介绍了课题研究现状、研究内容以及论文结构。1.1 课题背景与研究意义 1.1.1 课题背景 当今社会人们对信息的需求日益增大,及时获得有用信息需要有信息源,更需要有高效集成的信息管理方式。各行各业的发展都需要有良好的信息数据处理方式,计算机凭借其卓越强大的性能,被广泛用于信息管理。运用计算机管理信息,克服了人工管理信息的弊端,一方面管理效率高,信息处理速度快,数据更新维护便捷;另一方面提高了数据管理的完整性和安全性;此外,信息共享度高,复用性强1。对于大量复杂的信息处理需求,计算机表现出强大的数据处理能力。随着计算机技术的发展与网络互联技术的普及
20、计算机对各个领域产生了深远的影响,在通信传媒、航海航天、交通运输、科学研究等领域,计算机及网络技术大显身手。教育教学领域,网络课堂、网络论坛等发展迅速,家教在线管理平台应运而生。家教在线管理平台是基于 WEB的实现计算机网络环境中,家教求聘、应聘等相关家教信息的发布、查询、更新以及信息反馈的平台。该平台服务于学生、家长和教师,它整合管理家教信息,为想要聘请家教和想要从事家教的人提供各自所需的信息,为教学双方创建联系沟通与信息反馈的平台。借助计算机网络的高效便捷,家教在线管理平台帮助了许多人,该平台的运用为人们的学习工作提供便利。1.1.2 研究意义 家教在线管理平台力求解决大学生有知识无处施
21、展、中小学生想学知识却不易寻找家教老师的尴尬状况,让高校学生学以致用,让需要知识的人得偿所愿,达到施教方和受教方的双赢。家教在线管理平台整合处理家教信息,着重收集学员、教员信息,分类处理及时更新、及时反馈信息,帮助广大学生找到合适的家教老师,帮助大学生获得历练机会。因此,家教在线管理平台联系了教学双方,起到了纽带作用。就大学生而言,通过家教在线管理平台可以获得锻炼的机会,不仅运用所学家教在线管理平台的设计与实现 2 知识帮助了他人,而且也让自身能力直接转化为经济利益,使得大学课余生活更加充实。而对于受教方,不必再花费大量的时间和精力寻找家教老师,利用家教在线管理平台寻找教师可以节省大量的时间和
22、精力。较之于传统的家教中介,家教在线管理平台更加便捷,它提供了家教新闻信息,满足客户搜索信息、发布消息、沟通反馈信息以及更新个人信息,客户只需通过注册,就可以使用系统平台赋予的权限功能。研究家教在线管理平台的设计与实现,争取实现网络化、无纸化、高效化的现代家教信息交流方式。家教在线管理平台系统前台用户包括访客与注册客户,注册客户包括教师、学生和家长。教师可以通过该平台注册个人信息、发布应聘消息、与学生沟通反馈信息,学生或家长可以发布求教求聘信息,教学双方分别搜索所需信息,互相交流反馈信息。这为人们的学习、工作和生活带来便利,总之,家教在线管理平台有较好的实用性。1.2 国内外研究现状 1.2.
23、1 当前中国大学生家教现状(1)找不到做家教的正确途径,许多大学生想要做家教却没有合适的途径,这导致他们没有机会做家教。一些大学生选择去中介公司或人才市场等登记,然后再等待家教需求方联系自己。这样不仅浪费了时间,更多的是得不到任何来自中介公司或者人才市场的回复信息。(2)缺少专属大学生家教信息网站,现在有许多网站都提供家教信息,但大多数信息都提供给教师,而不针对大学生,几乎没有专属的大学生家教信息网站。在国外有较多大学生专属家教网站,例如:中国留学生网,在这个网站上我们可以很清楚地看到,50%以上的中国留学生在国外留学期间都会选择家教,这样既锻炼了自己,又服务了社会,在中国香港和澳门地区,情况
24、也很普遍。1.2.2 家教网站现状 家教在线管理平台目前处于形式多样化、经营尚未规范化的两难境地,目前国内网络家教平台主要有以下几种形式:各地家教网;星罗棋布,几乎遍布国内每个地级市,其中以启优家教网、天天家教网、阳光家教网为代表,凭借网络平台在全国大中城市发展二级代理或分支机构。网站整合了各地大量师资力量,为家长提供了可参考的师资平台,为学生、教师提供获悉需求信息的渠道。各类网校:多以国内众多重点中小学为依托构建网上教育平台,使学生购买榆林学院本科毕业设计(论文)3 网卡后可以分享网络教育资源,或者在线与名师交流。该类网校国内以黄冈中学网校、101 网校、北京四中网校等为代表,在各地寻找加盟
25、商实现与当地学校的结合,向各中小学生推广网卡。但其模式碍于不能面对面授课、面对面交流,加之目前国人对网络的认可度尚待提高,所以目前普及型推广仍有难度。当地家教机构与远程教育的结合;目前,国内部分地区家教机构借助远程教育的师资优势实现两者结合经营,配备专门网络教室,使学生分享网络资源,并配置 2-3名专职教师,使学生遇到问题可以即时提问即时回答,为家教行业的横向整合开创了先河。国内部分家教网站正走向专业化、网络化,这些网站实施多采用 B/S 体系结构的动态网页管理系统。这种结构的管理系统主要是通过动态网页直接访问数据库的方法进行所有工作2。B/S 架构不受时间和地域的限制,网络中通过浏览器即可访
26、问服务器3。网络用户登录家教在线管理平台网站站点,即可使用家教在线服务。结合国内外现状分析,本系统将建设成基于 WEB的网络联系沟通平台,它既满足教师、学生、家长搜索需求信息,又能实现教师、学生家长的信息交流与信息反馈。1.3 主要研究内容 本文主要研究家教在线管理平台的设计与实现,在整个过程中主要完成以下工作:(1)分析家教在线管理平台的现状和发展趋势,探讨选择系统开发技术和开发平台。(2)研究系统开发所涉及的相关技术和理论,分析系统功能需求和性能需求,进行系统总体设计。(3)根据系统需求分析与总体设计,实现家教在线管理平台,应用 java和 jsp技术解决开发过程所面临的各种技术问题。(4
27、)对系统进行部署与测试,根据测试结果,继续完善系统。1.4 课题论文结构 论文分若干章节,各章节主要内容如下 第一章:绪论。分析项目背景、研究对象及国内外研究现状,介绍本文的主要研究内容。第二章:相关软件技术与开发模式介绍。家教在线管理平台的设计与实现 4 第三章:需求分析。详细阐述系统的可行性需求分析、功能需求分析以及性能需求分析,明确系统实现功能及数据流程。第四章:系统概要设计。详细描述系统功能结构、系统体系结构设计,实现模式设计,系统后台数据库的逻辑结构设计与物理结构设计。第五章:系统设计与实现。讲述系统具体实现过程。第六章:系统运行与系统测试。测试检验系统。第七章:总结。总结收获、遇到
28、难题、解决方案,找到改进方向。1.5 小结 本章主要描述了家教在线管理平台的背景及研究意义,并且简要介绍了国内外的研究现状、课题研究内容与系统论文结构。通过背景意义及现状的研究分析,得出家教在线管理平台是值得研究开发的。榆林学院本科毕业设计(论文)5 2 相关软件技术与开发模式 系统开发用到相关软件技术,应该采用较为合适的开发模式,本章节主要介绍系统开发用到的开发工具、语言技术和开发模式。2.1 开发工具(1)Macromedia Dreamweaver Macromedia DreamWeaver是建立Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合成一
29、个功能强大的工具,使每一个级别的开发人员都可以利用它便捷地创建界面及站点应用程序4。对基于 CSS 的设计提供最好的支持到手动编码功能,Dreamweaver在一个集成和高效的环境中为专业人员提供所需的工具开发人员可以将服务器技术(例如CFML、ASP、ASP.NET、JSP、和PHP)与Dreamweaver配合使用,建立连接到数据库、Web 服务和旧时系统的强大 Internet应用程序。在Dreamweaver中用户可以创建自己的对象和命令,修改快捷键,编写JavaScript 代码、VBScript 代码,用新的行为、属性检查器和站点报告来扩展Dreamweaver的功能。家教在线管理
30、平台是基于互联网实现的,它面向不同类型用户,需要实现界面友好,考虑到Dreamweaver在网页制作方面的强大功能和使用方便,所以选用Dreamweaver软件来制作网页。Dreamweaver的强大功能体现在:操作方便,有很好的控制力,Dreamweaver是唯一提供Roundtrip HTML视觉化编辑与源码编辑同步的工具,它支持精确定位,可以用图层以拖拉放置的方式来配置版面;制作效率高,Dreamweaver可以用最快的方式将 FireworksFreeHand 或Photoshop 等档案移至网页上;方便管理站点,在Dreamweaver中用户可以创建自己的对象和命令,修改快捷键,编写
31、JavaScript代码、VBScript 代码,用新的行为、属性检查器和站点报告来扩展Dreamweaver的功能,使用Dreamweaver可以快速制作网站雏形,设计、更新和重组网页;全方位的呈现,利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。(2)Eclipse Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Kit,JDK)。Eclipse 家教在线管理平台
32、的设计与实现 6 还包括插件开发环境(Plug-in Development Environment,PDE)。由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java 开发工具。尽管Eclipse 是使用Java 语言开发的,但它的用途并不限于Java 语言;例如,支持诸如C/C+和COBOL等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用作与软件开发无关的其他应用程序类型的基础,比如内容管理系统。总之,Eclipse 是优秀的java 集
33、成开发环境,使用它可以很容易地开发java 程序。并且Eclipse 不是只用作java 开发,根据Eclipse 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至成为绘制图片的工具5。2.2 开发语言(1)JSP JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术类似ASP 技术,它是在传统的网页HTML文件中插入Java 程序段和JSP标记(tag),从而形成JSP文件。用JSP开发的Web 应用是跨平台的,既能在 Linux下运行,也能在其他操作系统上运行。JSP将网页逻辑与网页设计和
34、显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。Web 服务器在遇到访问 JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java 程序段可以操作数据库、重新定向网页,能够实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0 规范的最后版本是1999年9月推出的,12月又推出了1.1 规范。目前较新的是JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台JSP页面由HTML
35、代码和嵌入其中的Java 代码所组成。服务器在页面被客户端请求以后对这些Java 代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web 应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java 技术的简单易用、完全的面向对象、具有平台无关性且安全可靠、主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP的特点:1)将内容的生成和显示进行分离6。2)JSP本质就是一个Servlet,提供所
36、有Servlet 的功能。榆林学院本科毕业设计(论文)7 3)在运行的时候,JSP被容器翻译成为一个Servlet,放在tomcat/work/Catalina/localhost目录下。4)JSP文件被修改之后,可以配置为自动进行重新编译,方便调试。JSP实现了动态页面与静态页面的分离,脱离了硬件平台的束缚以及编译后运行的方式,大大提高了运行效率,继而逐渐成为Internet上的主流开发工具。JSP作为主流开发技术,可以用一种快捷的方法生成WEB 页面,使用JSP技术的WEB 页面可以很容易的实现动态内容。JSP能够在任何web或应用程序服务器上运行,将运用程序逻辑或页面显示分离;能够快速的
37、开发和测试;简化开发基于WEB 的交互式运用程序的过程7。总而言之,JSP是运行在服务器端的页面,它本身就是一个基于文本的文档,不仅可以包含静态的HTML内容,也可以包含动态的JAVA 代码,服务器容器可以将JSP转换成Servlet 发布,并接受请求、提供响应。JSP适合作View。(2)SQL 语言 SQL 是Struct Query Language的缩写,它是一种标准的关系数据库查询语言。SQL 语言分为两类,一类与数据定义有关,称为数据定义语言;另一类与表内的记录有关,称为数据处理语言。常用数据定义语言语句包含Create table(建立新表)、Drop table(删除表)、Al
38、ter table(修改表设计结构)。常用数据处理语言语句包含Select 语句(查询)、Insert 语句(添加)、Delete 语句(删除)、Update语句(更新)。SQL 的主要功能是,它以非过程化形式加快了数据集合的操作。SQL 语句表达了用户理想的结果,而且使数据库管理系统负责产生尽可能高效的结果。SQL语句指定了要在行集合上执行操作(如过滤、分组排序)而且数据库系统决定了访问数据的精确方式,以及产生理想结果需要的各种处理步骤的顺序。SQL 一个非常有用的方面是“闭包”性质查询结果以表的形式产生。因此,查询返回的结果集可以插入到另一张表中,或者用作SQL 中查询表达式的一部分,如子
39、查询或部分视图定义。2.3 开发技术(1)Servlet 技术 Servlet 技术是java 技术用于替代CGI 编程的一个技术,是java 动态web技术的基础,是用Java 书写的一种规范,是与平台无关的服务器构件8。Servlet 程序在服务器端运行,动态的生成WEB 页面。与传统的从命令行启动Java 应用程序不同,Servlet 由Web 服务器加载,该WEB 服务器必须包含支持Servlet 的Java 虚拟机,或者与Servlet 容器结合使用。Servlet 运行在Servlet 环境中,Servlet 容器负责Servlet 和客家教在线管理平台的设计与实现 8 户的通信以
40、及调用Servlet 方法,与其它的动态网页编程技术相比,Servlet 有很多特有的优点。1)高效:Servlet 中,每个请求有一个轻量级的Java 线程处理(不是重量级的操作系统进程);如果有N 次线程请求,只需要有一份Servlet 类代码。2)方便:Servlet 提供了大量的使用工具例程,如自动解析和解码HTML表单数、读取和设置HTTP 头、处理Cookie、跟踪会话状态等。3)功能强大:在Servlet 中,许多使用传统CGI 程序很难完成的任务都可以轻松地完成。4)可移植性好:Servlet 用Java 编写,Servlet API具有完善的标准。因此,为I-Planet E
41、nterprise Server写的无须任何实质上的改动即可移植到Apache、Microsoft IIS 或其他的WEB 服务器上。5)节省投资:不仅有许多廉价甚至免费的web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet,要加上这部分功能,往往免费。(2)JDBC 技术 JDBC 即Java Database Connectivity。JDBC 从物理结构上说就是Java 语言访问数据库的接口的集合。从本质上说就是调用者和实现者之间的协议。JDBC 的设计由SUN 公司提出。JDBC 的实现由数据库厂商以驱动程序的形式体现。JDBC API为开发者使用数据
42、库提供了统一的编程接口,包括了一组Java 接口和类,使得开发人员能够使用纯Java 的方式访问数据库。2.4 开发模式 2.4.1 体系结构 不同体系结构的信息系统在开发和运用中有很大的区别,选择合适的体系结构十分重要。主要的信息系统体系结构模式有C/S体系结构、B/S体系结构。C/S模式体系结构,即客户机/服务器模式。它是由客户机与服务器共同实现的一种协作处理的开发模式,在C/S环境中,将运用功能分成表示层、功能层和数据层,C/S模式有三层和两层之分,C/S模式体系结构多应用于局域网中9。两层C/S结构由两部分构成:前端是客户机,后端是服务器,运行数据库管理系统,提供数据库的查询和管理,表
43、示层与功能层包括显示逻辑和事务处理逻辑,部分放在客户端,而数据层包括数据处理逻辑和数据库,放在服务器端。榆林学院本科毕业设计(论文)9 两层C/S体系结构如下图2-1所示:图2-1 两层C/S体系结构 三层结构是将运用功能分成表示层、功能层和数据层三个部分,功能层单独分为中间层部分,这是对两层结构的改进,也是C/S架构中最为常用的。三层C/S架构中,表示层是应用的用户接口,负责处理用户的输入和向客户的输出;功能层是相对于应用的主体,它将具体的业务处理逻辑编入程序中;数据层是数据库管理系统负责数据库数据读写的管理。如图2-2所示:图2-2 三层C/S体系结构 B/S体系结构是一种以WEB 技术为
44、基础的新型系统平台模式,也就是浏览器、应用服务器、数据库服务器(Browser/WebServer/Database Server简称B/S)的三层体系结构和Internet/Intranet(互联网/企业内部网)10。B/S 模式是由浏览器、Web 服务器和数据库服务器三个层次组成。B/S模式以Web 技术为基础,将传统两层 C/S模式中的服务器部分又细分为数据库服务器和Web 服务器,从而变成三层结构。在B/S模型中,在客户机上运行的应用程序是浏览器。客户机要访问数据库时,向 Web 服务器发出请求,Web 服务器通过数据网关与数据库相连,负责与数据库的数据交换。B-S体系结构如图2-3所
45、示:图2-3 三层B/S体系结构 B/S模式体系结构的系统主要采用四类技术,它们分别是JSP、ASP、PHP、CGI 方式。使用B/S体系结构,用户不必安装专门的客户端软件,只需有浏览器如IE、FireFox,就可在任何地方通过通用网路协议与Web 服务器交互,继而访问同用户界面运用逻辑数据处理逻辑DataBaseODBCSQL 语句客户端服务器端用户界面运用逻辑数据处理逻辑DataBaseODBCSQL 语句客户端服务器端中间层自定义协议Web 服务器Browse浏览器数据库HTTPHTML家教在线管理平台的设计与实现 10 一数据库数据源。使用B/S结构,客户端有较好的安全性、稳定性和高效
46、性。系统结构设计本着系统功能全面完善的原则,实现系统的功能结构需求。综合考虑,家教在线管理平台采用B/S体系结构,前台为客户机浏览器,中间件服务器为WEB 服务器,后台为数据库服务器。2.4.2 系统软件架构设计 家教在线管理平台系统软件架构采用MVC 模式设计。(1)MVC 为一种软件架构思想,是将一个软件的组成部分划分成模型(model)、视图(view)和控制器(controller)。其中,模型负责业务逻辑(主要包括业务数据的加工处理规则,另外,还有为保证处理所需要的一些基础服务,比如事务、安全、日志等)的处理。视图负责展示模型处理之后的结果,并且提供相应的用户界面或接口,即视图负责表
47、示逻辑。控制器负责协调模型和视图。协调指的是,控制器将视图与模型解藕,这样做的好处是视图或模型发生改变,不会相互影响。MVC 组成结构模块:*模型(model)负责业务逻辑 业务数据的加工规则以及保障业务逻辑能够正常执行所添加的一些基础服务,比如事务、安全、日志、性能等等。*视图(view)负责表示逻辑 业务数据的展现以及用户操作的界面。*控制器(controller)负责流程控制逻辑 视图向控制器发送请求,控制器依据一定的规则,调用对应的模型来处理请求;模型处理的结果发送给控制器,控制器选择合适的视图,生成相应的界面,提供给用户。(2)MVC的处理过程 首先,控制器接受用户的请求,并决定应该
48、调用哪个模型来进行处理,之后模型根据客户请求进行相应的业务逻辑处理,并返回数据;然后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户11。榆林学院本科毕业设计(论文)11 MVC 处理过程如图2-4所示:(视图)显示模型状态接受数据更新状态把用户输入数据传给控制器(控制器)接受用户请求调用模型响应用户请求选择视图显示响应结果(模型)代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新方法调用事件通知数据更新状态查询用户请求业务处理选择视图 图 2-4 MVC 处理业务过程图(3)MVC 的优点:1)一个模型可以使用多种不同的视图来展现其处理之后的结果,多个视图能共享一个
49、模型。也就是说,返回的数据是与具体的显示方式无关的。2)模型开发完之后,可以立即测试。将业务逻辑写在一个java 类(即模型)里,可以直接测试该java 类,不必启动服务器)。模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的业务数据和业务规则。3)代码好维护,方便分工协作。控制器提高了应用程序的灵活性。(4)MVC 的两种模式:浏览器JSPJavaBean32 响应41请求Web服务器应用服务器和数据库 图 2-5 MVC 模式一 JSP Model 1,页面负责调用模型组件来响应客户请求,JSP负责调用模型组件来响应客户请求,并将处理结果返回给用户。JSP既要负责流程
50、控制,还要负责家教在线管理平台的设计与实现 12 产生用户界面,因此,它要同时充当视图和控制器的功能,未能实现这两个模块之间的独立和分离12。系统中处理业务的逻辑代码嵌套在html的用户界面中,使得表示层和业务层逻辑混乱在一起,这样的页面难以修改与维护,可移植性差,页面的可扩展性及可复用性不好13。浏览器控制器(servlet)JavaBean31请求Web服务器应用服务器和数据库视图(JSP)5响应4JavaBean模型2实例化 图 2-6 MVC 模式二 JSP Model 2 体系结构,是一种联合使用JSP与Servlet 来提供动态内容服务的方法。它吸取了JSP和Servlet 两种技






