基于Java的早教系统的设计与实现【附源码】

发布于:2024-06-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

摘要:随着家长对孩子教育的重视程度越来越高,早教也越来越受家长的青睐,因为它可以有针对性地单独授课,能显著提高学生学习的效果。同时互联网的兴起,对教育的形式也产生了重大影响,为此基于B/S的早教平台应运而生。
论文基于B/S架构, 采用MVC开发模式,使用JAVA语言和ORACLE数据库,以TOMCAT作为WEB服务器,结合SSH框架进行整合,开发了基于JavaEE的开放式早教服务平台。平台前端以JSP实现与用户交互界面,主要实现了注册用户对个人信息的管理、教员和学员的双向搜索、教员和学员需求信息的发布、学员对教员进行评价、注册用户发主题帖进行相关讨论等功能;平台后端的业务逻辑用Java语言实现。
平台为学员与教员提供了双方信息交流的平台,方便学员与教员之间寻找适合自身的服务,同时提供早教资源共享等相关资讯。
关键词:早教服务平台;信息交流;B/S;JAVA;ORACLE

目 录
第1章 绪论 4
1.1 选题的背景及意义 4
1.2 国内外研究现状 4
1.3 课题的研究内容 5
1.4 论文的组织 6
第2章 相关技术介绍 7
2.1 JSP简介 7
2.1.1 JSP内置对象 7
2.1.2 JSP页面 8
2.2 Ajax技术 9
2.3 jQuery和Json 10
2.4 SSH技术简介 10
2.5 Myeclipse安装 12
2.6 配置Tomcat 12
2.7 Oracle数据库 12
2.7.1 Oracle简介 12
2.7.2 Oracle的使用 13
2.8 本章小结 13
第3章 早教平台的分析 15
3.1总体需求分析 15
3.1.1 功能需求 15
3.1.2 早教平台性能需求分析 16
3.2 数据安全分析 16
3.3 界面需求分析 17
3.3.1 平台名称 17
3.3.2 界面布局 17
3.4 早教平台可扩展分析 18
3.5 本章小结 18
第4章 早教平台的设计 19
4.1 平台总体设计 19
4.2 功能详细设计 20
4.2.1 前台功能设计 20
4.2.2 后台功能设计 21
4.3 系统数据库设计 22
4.3.1 数据需求 22
4.3.2 数据库概念设计 22
4.3.3 数据库逻辑结构设计 26
4.3.4 数据库表设计 27
4.4 本章小结 31
第5章 早教平台的实现 32
5.1 开发环境 32
5.1.1 硬件环境 32
5.1.2 软件环境 32
5.2 运行环境 32
5.3 平台开发结构 32
5.3.1 MVC体现 33
5.3.2 表单乱码设计 33
5.3.3 相关的xml配置文件 33
5.4 前台功能模块实现 34
5.5.1 导航条和Log模块 34
5.5.2 网站公告模块 34
5.5.3 用户注册模块 35
5.5.4 用户登录模块 39
5.5.5 用户信息展示模块 40
5.5.6 咨询中心模块 40
5.5.7 友情链接模块 41
5.5.8 搜索模块 41
5.5.9 客服中心模块 43
5.6 后台功能模块实现 44
5.6.1 管理模块显示 44
5.6.2 账号信息管理 44
5.6.3 基本信息管理 45
5.6.4 联系方式管理 47
5.6.5 邀请管理 48
5.7 论坛模块实现 48
5.8 本章小结 49
第6章 结论与展望 50
6.1 结论 50
6.2 展望 50
参考文献 51
致谢 1
第1章 绪论
1.1 选题的背景及意义
早教服务是当今的一个热门的服务种类,特别是在城市地区,有着巨大的市场。随着人们生活水平的不断提高和对高质量教育的需要,早教需求也将持续不断的增长。同时,越来越多的教师、在校师范类大学生等具备某些特长的人士也都希望能够以专职或兼职的方式从事早教的工作,额外发挥对教育事业的贡献。
针对这个双方的需求,早教市场正在蓬勃发展,但是目前的早教市场也带来了几方面的问题:第一,寻求早教服务者或者学生家长往往不知道如何找到好的早教资源,家长往往是通过身边的熟人、朋友等方式来寻找早教,这样的方式不但难以保证对口的早教服务,而且选择的余地也很小;第二,愿意提供早教服务的教师或大学生往往不知道如何去寻找合适的早教服务需求者,往往都是通过张贴海报、设摊等方式进行宣传,造成宣传面小,或者学生不能完全对口等情况;第三,早教服务还具有地域特征,一般对于教师上门进行早教服务或者学生上门的早教服务的方式都希望能够在地域性上比较匹配,所以希望能选择的资源相对较多;第四,对于早教服务缺乏监管,如果能有一个中介机构能够及时得到受服务方对教师早教服务的反馈,进行评级和评分,不但能提高服务质量,还能增加服务的可信度,促进早教产业的良性发展。
本文所论述的“早教服务平台”通过运用java ee开发方面的知识,建立起一个网络的早教服务平台,该平台以一个中介方式提供早教双方的服务,充分发挥网络的方便和快捷性,增加了早教服务的灵活性,使服务者和被服务者各取所需。本文内容涉及到服务器的配置、网页开发设计、程序设计、数据库运用等多方面的知识,较为完整地体现了平台开发过程中的综合规划和设计思路以及技术细节、问题的解决办法。
1.2 国内外研究现状
研究早教服务平台,追其根源必须研究整体的教育状况,在我国目前的教育还是以“应试教育”为主,从教育规律和人才成长规律来看,“应试教育”在认识上存在着两个误区,一是忽视了对大多数学生的培养,只对少数人服务。客观现实决定了只有少数人能够通过考试进入大学,片面强调和追求升学率,必将牺牲大多数人的利益,从而使基础教育成为面向少数人的教育;二是"应试教育"在教育内容上忽视德育、体育、美育和生产劳动教育,只重知识传授,忽视能力与心理素质培养,它所追求的是片面发展,而不是全面发展。为了考试而学,是违背人才培养的规律的。“应试教育”环境下的学生知识面比较狭窄,缺乏知识与知识之间的联系;学生缺乏自己可以支配的时间与空间, 他(她)到了学校,其时间与空间都给老师占满了,到了家里,他(她)的时间又给家长占满了。一个缺乏自己可以自由支配时间与空间的人,很难有创新;学生在硬的领域,比如基本知识与基本技能比较强,而在软的领域,如自信心不够,好奇心和求知欲不强,缺乏积极的情感体验,缺乏社会责任感与使命感。实际情况是,我们的学生并不输在起跑线上,而是输在终点线上,也就是我们的学生缺乏后劲,缺乏创新精神。从时间分配上讲,我们花在语、数、外和与中考、高考相关学科的训练上的时间太多太多;而花在对祖国的热爱,对人与人之间美好关系的认识,对祖国大自然的认识这方面的时间太少太少。国际上把这一块称之为德育课程或是道德课程。从人的成长来讲,恰恰是道德课程起着决定性的作用。
反观当今世界,随着时代的发展,人们教育观念的更新,智力已不再是能力的同义词,现实问题的复杂化和综合程度的提高以及知识更新速度的加快,要求人不仅要具备独立解决问题的能力,更要具备与他们之间的合作能力,处理问题的应变能力、持续性的学习能力、自我激励能力和自我提升的能力等素质。简言之,社会需要的是全面的综合性高素质人才。显然,“应试教育”这种教育倾向不能适应社会人才培养的需要,而且还会有碍于教育事业的健康发展,尤其是基础教育的发展,而国内与国外的教育差别重点也正是在这一块了。
第八届全国人民代表大会第四次会议通过的《中华人民共和国国民经济和社会发展九五计划和2010年远景目标纲要》,在其“科教兴国战略”部分中,明确提出要“改革人才培养模式,使应试教育转向全面素质教育”。于是,到此为止,“素质教育”终于从一种行政性的号召,转变为具有一定法律约束力的国家意志,培养德、智、体等方面全面发展的人。我国的学校管理可以借鉴英、美国家,变“授人以鱼”为“授人以渔”,培养学生自主学习习惯,充分张扬个性,给学生以自由发展的时间和空间,促使学校教育、家庭教育和社会教育三位一体,全方位地培养学生的开拓和创造精神,真正实现素质教育,培养能力型人才。
综上所述,尽管越来越强调要培养学生自主学习习惯,但是国内早教服务任是正处于蓬勃发展的阶段,而国外的开放式教育则导致早教服务的研究相对比较局限了。
1.3 课题的研究内容
课题研究的内容是早教服务平台。针对目前早教服务市场的现状,平台本着为寻求早教服务者和提供早教服务者的双方提供一个安全、便利的交流环境为目标,以全心全意为早教事业做贡献为宗旨。平台能够给需要早教服务,却不知道如何找到好的早教资源的学生或家长提供一个完善的信息资源站,学生或家长可以通过平台找到对口的、安全放心的早教服务。同时,也给愿意提供早教服务的教师或大学生提供了一个完善的信息资源站,可以在平台上找到合适的早教服务需求者,既能保证对口的早教服务,又能保证人身和财产安全,可以全心全意的投入到早教事业而不用担心其他。平台能够为学生尽可能全面的了解教师的基本情况,找到自己心中认为最合适的教师来指导自己学习,教师也可以知道自己的辅导的学生,为了更能够完善自己,了解学生的特点。平台很重视各类早教服务的信息资源,但是最为重视的却是双方的个人资料安全以及对教员和学员的评价。因为平台的目标是保证在安全可靠的环境下,提供值得双方信赖的早教服务,为早教事业贡献出一份力量。
1.4 论文的组织
本文共分为六章,具体的内容安排如下:
第1章是绪论部分,简略陈述了研究此平台的时代背景及其意义,同时对国内外研究的现状也做了粗略的对比。
第2章是相关的技术理论部分,主要对此平台在研究开发过程所使用到的相关技术作了简单的陈述,通过本章可以了解到研究此平台的技术构造。
第3章是平台的需求分析部分,本章对实现平台的需求进行了全面的分析,从用户及管理者为典型代表对平台进行分析,深入了解平台的需求。
第4章是平台的设计部分,主要陈述了如何实现该平台的整体设计,相关数据库以及某个功能模块的设计。
第5章是平台的实现部分,在有了前面设计及需求的分析的基础上,在本章主要描述了实现该平台的具体环境及过程。
第6章是结论与展望,简要总结了该平台所完成的工作以及存在的不足,同时描述了对平台的未来展望。

第2章 相关技术介绍
2.1 JSP简介
2.1.1 JSP内置对象
JSP内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。其一共有9大内置对象,在该平台在开发过程中需使用到其中的7大内置对象,每一个内置对象都有其自身的特点及作用,简述如下:
1.application对象
application对象的所属类型是,所有用户都共享一个,服务器启动后,一旦创建了application对象,那么该对象将会永远保持下 去,直到服务器关闭为止。在开发过程中运用到的公共数据均可以通过使用application对象来实现共享。调用getServletConfig()或getContext()方法后获取到ServletContext对象,通过返回的对象则可以获取对应的共享数据值。
2.exception对象
exception对象的所属类型是,JSP也不例外,当其页面发生错误时,肯定会产生异常,而exception就是用来针对异常作出相应处理的对象。在开发该平台过程中有很多次的调试,多次都在使用exception对象,当然在使用之前必须在JSP顶端通过使用page命令来设定其使用权限,如<%@ page isErrorPage=“true”%>,否则在编译过程中会出错。
3.out对象
out对象的所属类型是,它的作用相当于PrintWriter对象,但使用PrintWriter对象需要事前进行声明,而out对象则可以直接进行调用。该平台在开发JSP页面过程中主要调用out.print( )方法或out.println( )方法进行对客户端的内容输出,两个方法均可以向客户端输出一行信息,但前者输出时不换行,后者则输出后换行。
4.request对象
request对象在开发该平台的过程中是使用次数最多的,他所属的类型可以根据协议的不同而变换,使用HTTP协议时属于,而使用其他协议时则属于,用户可以通过不同的方式在发出请求的同时传递数据,比如使用GET方式。而服务器在服务端则可以通过调用request的方法来对用户提交的数据进行提取。该平台开发过程中多次使用到setAttribute( )、request.getAttribute( )和getParameter( String name)等方法。setAttribute( )方法对数据进行提交,而request.getAttribute( )则是对应它的读取方法。getParameter( String name)则是通过传递一个键值名来读取对应的值。
5.response对象
response对象与request对象对应,在开发该平台的过程中使用次数不亚于request对象。response对象是用于服务器对客户端进行回响,它的所属类型也是根据协议不同而变化的,当使用HTTP协议时,类型是 Response,使用其他协议时则是 reset()来对buffer中的内容进行清空;使用getCharacterEncoding()来获取响应的字符编码格式,使用setCharacterEncoding(String charset)则是设置响应使用的字符编码格式,如果获取和响应的编码格式没有保持一致,则响应在JSP页面上的内容会出现乱码;通过使用setContentType(String content) 来对响应的内容进行类型设置;使用sendRedirect(String location)来向服务器发送一个重定向至参数位置的请求。通常在进行JSP页面开发的过程中在每一个JSP的顶部都会加上response.setContentType(“text/html;charset=gbk”)和request.setCharacterEncoding(“gbk”)两句。
6.session对象
session对象所属的类型是,它的创建代表这一个会话对象的产生。在该平台开发的过程中,用的最多的方法是setMaxInactiveInterval( int interval),它用于设置最大的session不活动的时间,若超过这个时间则会话将会失效,时间单位为秒。在平台中,若用户长时间未进行任何操作且没有注销登录,则通过该方法设置的时间就被作为自动注销的时间依据。除了上述方法外,平台开发过程中主要还使用方法getAttribute(String name) 来获取指定名字的属性和方法removeAttribute(String name)来删除指定名字的属性,也通过使用方法setAttribute(String name, object)来进行指定名字属性值设置,并存储在该对象中。
7.pageContext对象
pageContext对象在平台过程中使用的不多,主要是用于对JSP页面内所有的对象及名字空间的访问,因为它可以访问到本页所在的SESSION,同时也可以取本页面所在的application的某一属性值,相当于页面中所有功能的集大成者,虽然使用起来较为直接,但是因其所集合的方法太多导致使用起来不甚方便。
2.1.2 JSP页面
该平台的所有前端交互均为JSP页面,目前用于前端交互的开发方式用很多种,而该平台之所以采用JSP主要是出于如下考虑:
1、JSP将内容的生成和显示进行分离,使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2、绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3、JSP采用了标识简化页面开发,Web页面开发人员不会都是熟悉脚本语言的编程人员。而JSP技术则封装了许多的功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,开发人员可以使用自己所选择的服务器和工具,而更改工具或服务器却不影响当前的应用。
2.4 SSH技术简介
本平台开发采用的是SSH整合技术。SSH指的是Struts、Spring、Hibernate三大框架的整合,在开发过程中Struts 的MVC设计模式可以使我们的逻辑变得很清晰,Spring 的IOC和AOP可以使我们的平台在最大限度上解藕,而Hibernate则是实体对象的持久化,SSH框架直观如图2.1所示。
典型的JAVAEE三层结构分为表现层、中间层(业务逻辑层)和数据服务层,三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层则是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
图2.1 SSH框架直观图
表现层则是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种:
1、Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现。在该平台中本层通过struts来进行处理。
2、Manage层(服务层或业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
3、PO(实体层或持久化层),持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库。该平台采用Hibernate作为ORM框架,而Spring的作用贯穿了整个中间层,将Web层、Manage层、DAO层及PO无缝整合,其数据服务层用来存放数据。
采用Hibernate作为持久层技术,可以完全以面向对象的方式进行系统分析、系统设计;采用Struts则通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处;采用Spring容器代替DAO工厂,通常情况下,引入接口就不可避免需要引入工厂来负责DAO组件的生成,而使用Spring可以完全避免使用工厂模式,因为Spring就是个功能非常强大的工厂。
2.6 配置Tomcat
Tomcat是一个免费的开放源代码的Web应用服务器,平台在开发以及测试过程中 使用的均是该服务器,目前使用最广的版本是,此平台也是使用了该版本。它是Apache软件基金会(Apache Software Foundation)开发的,是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。之所以在开发过程中选择使用它,主要因为Tomcat服务器在运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善,能被使用的时间较长,平台不用担心服务器的更换。Tomcat配置是在Myeclipse6.5环境里面进行的,具体配置如图2.2所示。
2.7 Mysql数据库
2.7.1 Mysql简介
Mysql是目前最流行的关系型数据库管理系统,被越来越多的用户在信息系统管理、企业数据处理、Internet、电子商务网站等领域作为应用数据的后台处理系统。此前流行的版本为Mysql8.0。第一次提出数据自动镜像存储、数据闪回功能以及功能强大的数据导出工具、大文件表空间以及表空间组管理等概念。
本平台采用的是Mysql8.0版本,是一个基于Java的框架系统,该系统集成了多 个组件,为用户提供了一个功能强大的图形用户界面。
2.8 本章小结
本章主要是对平台开发过程中所使用到的理论技术做了一个概述,开发该平台所涉及的技术有java、 JSP、Oracle、SSH框架整合等。通过本章可以进一步的了解平台的技术结构,同时通过本章也可以从一个平台开发员的角度去了解该平台,从而可以深度挖掘该平台的优势与不足。

第3章 早教平台的分析
3.1总体需求分析
3.1.1 功能需求
平台开发的目标是为了向学员和教员提供一个开放式的交流环境,针对不同身份的用户进行分析,平台该具有的功能包括:(1) 注册,学员和教员均可在平台注册一个属于自身的账号,其中包含网路昵称、个人信息、需求信息等。(2) 用户信息管理,注册后的用户可以修改、删除、增加自己的个人信息。(3) 搜索,提供给学员和教员进行双向搜索,以便更快的查找到符合自身需求的服务。(4) 邀请预订,为了让离线用户不错过机会,注册用户可以给符合自身需求的对方发送邀请预订,等对方上线很快能做出回应。(5) 评价,有效的竞争能够提高服务的质量,学员和教员均能给对方进行星级评价,评价高的用户将被平台优先推荐。(6) 论坛,注册用户可以在论坛进行合理的发言。(7) 广告,为了给平台带来部分的利润,可以刊登合法的广告。
具体的功能需求如表3-1所示。
表3-1 系统功能需求一览表
业务模块 功能划分 简要描述
注册 学员注册 填写完善的信息后注册为平台的学员用户
教员注册 填写完善的信息后注册为平台的教员用户
用户信息管理 账户信息管理 管理平台账号,如修改密码等
基本信息管理 管理个人信息,如修改辅导科目、区域等
联系方式管理 管理联系方式,如修改电话、QQ、住址等
照片管理 管理照片,如上传个人照片等
搜索 双向搜索 学员和教员搜索符合自身需求的服务
邀请预订 学员 管理已邀请的教员或发出邀请
教员 管理已邀请的学员或发出邀请
评价 双向评价 学员和教员互相进行评价
论坛 论坛 只有注册用户可以发言进行相互讨论
广告 广告 刊登合法广告以获取部分利润
平台管理 学员管理 如查看、修改、删除学员信息等
教员管理 如查看、修改、删除教员信息等
其他 如审核论坛发言、审核信息等
3.1.2 早教平台性能需求分析
平台为开放式早教服务平台,浏览用户主要集中在学生、家长、教师等相关人员,相对并发浏览用户量不大,故性能需求主要有如下:
(1) 对Web服务器的性能要求不高,可以采用了轻量级Web服务器Tomcat。
(2) 平台涉及到学员和教员的个人信息,后端开发语言应具有很高的安全性且通过该语言开发的平台尽量要易于维护。
(3) 操作方面,平台应具有操作简单、方便等性能。
3.2 数据安全分析
作为一个中间服务平台,涉及到所有注册用户中学员和教员的真实个人信息,如果信息泄露,将会给用户带去无法预计的后果,同时也会给平台带来很大的负面影响,所以保证平台数据的安全是能够使平台得到推广所必须的条件。因此平台在数据安全方面做了如下分析:
1、平台提供一定的方式让用户标识自己的身份,在平台的内部记录着所有合法用户的标识,每次用户登录平台时,会由平台进行核实,通过后才提供其录。如用户在进行登录或在对信息进行修改等涉及到个人信息时,平台会要求输入对应的验证码等。
2、平台将在数据库设计时为不同的用户定义不同的数据视图,用以限制用户的在平台上的访问范围。通过视图机制把需要保密的数据对无权访问这些数据的用户隐藏起来,提供一定程度的安全保护。该平台将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上进一步进行授权。这样能进一步的保证数据的安全性。
3、平台在进行数据存储和传递过程中,对数据进行了一定程度的加密。如用户密码采用消息摘要加密方式中的MD5加密,这是一种与消息认证码结合使用以确保消息完整性的技术。它主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等。由于平台运行于Web环境,故除密码之外的内容则采用了公钥加密,此种加密方式是使用一对密钥对,一个公钥,一个私钥,使用公钥加密的数据,只有私钥能解开(可用于加密);同时,使用私钥加密的数据,只有公钥能解开。该平台使用了公钥加密中的RSA算法,对数据进行加密也是保证平台用户个人信息不被窃取或修改的有效手段。
4、为了增强服务器存储系统的容错能力,服务器存储系统将采用Raid磁盘阵列,同时服务器也将对用户的关键信息进行备份。
3.3 界面需求分析
3.3.1 平台名称
本平台的名称为:基于Java的早教预约服务平台。
3.3.2 界面布局
1、本平台界面以蓝色为主调,界面中字体大小采用四号字体加粗,输入和输出信息的字体大小为五号。
2、主界面顶部显示平台名称、平台LOG、平台导航,导航有主页、教员信息、学员信息等。其中平台名称和平台LOG位于该模块顶部,导航中的联系我们、网站声明、会员注册、客服中心位于中部,导航中的主页、教员信息、学员信息等位于下部。
3、主界面最左边设置三个模块,分别为用户注册、金牌教员和紧急早教。用户注册位于模块顶部提供注册功能,金牌教员位于中部提供显示金牌教员的部分信息,紧急早教显示急需早教服务的学员部分信息。
4、主界面中间也是设置三个模块,分别为网站公告、最新教员、最新学员。网站公告位于模块顶部提供显示公告内容,最新教员位于中部用以显示最新教员的部分信息,最新学员位于底部用以显示最新学员的部分信息。
5、主界面最右边设置三个模块,分别是用户登录、明星教员、推荐学员。用户登录位于模块最顶部提供登录功能,明星教员位于中部用以显示明星教员的部分信息,推荐学员用以显示平台推荐的学员信息。
6、主界面的底部设置两个模块,分别为资讯中心和友情链接。资讯中心包括幼儿教育、基础教育和热点培训,友情链接提供了相关网站的链接地址。
通过分析后平台应用浏览器交互界面,此种界面不仅直观和可调控性好,可以随时根据需要进行修改,而且用户使用起来极为方便,只要通过鼠标点击就能够使用平台的大部分功能。
3.4 早教平台可扩展分析
平台为网络性服务平台,随着网络用户的不断增长,预计该平台用户量将会与日俱增,而人们对平台的操作难度及操作界面的美化程度也会有不同的需求,因此平台的将来会有不断的版本更新,所以开发的平台应该具有很强的可扩展性来适应将来的版本更新。
3.5 本章小结
本章从总体、界面、数据安全及可扩展性四个方面对平台的需求进行了分析。通过分析可以了解到平台基本的功能模块和大致的前端页面布局,同时也突出了作为一个服务性平台,必须要着重于数据的安全性处理。

第4章 早教平台的设计
4.1 平台总体设计(需补充管理员功能图)
平台设计的首要目标要保证平台能够满足实际应用的需求,其次要充分考虑方便实用,只有这样才能使用户在进行早教服务的寻找时真正得益于信息化建设。再次,还应当使平台具有一定的先进性,使平台便于扩充。另外,还要采用先进的技术,考虑开发的周期。平台的总体设计目标是:基于Web互联网,提供具有提供早教服务和需找早教服务,同时能给学员用户和教员用户一个安全交流环境的平台。在这个平台上,学员能够方便快捷的寻找到合适的教员,教员也能够快速的发布信息,找到合适的学员。
结合上述应用需求和平台总体设计目标,确定早教服务平台主要有以下三大层结构。
(1)管理员:能够对用户注册的信息进行审核,对论坛发布的信息进行审核,管理平台所以用户的信息等。具体功能示意如图4.1所示。

图4.1 管理员功能图
(2)未注册用户:能够查看教员部分信息、查看学员部分信息、注册加入、浏览平台论坛上发布的帖子。具体功能示意如图4.2所示。

图4.2未注册用户功能图
(3)注册用户:能够发布需求信息、查看教员/学员信息、查看预约信息、修改个人信息、修改密码、对教员/学员评价并发表评论、创建帖子、回复帖子等。具体功能示意如图4.3所示。

图4.3 注册用户功能图
4.2 功能详细设计
4.2.1 前台功能设计
通过前台和后台分析后,对平台进行详细的设计。平台的前台是与用户直接交互的,其主要功能结构设计如下:
(1)有完善的对应导航条,用户点击导航即能进入对应功能的操作环境。
(2)提示未注册用户注册及注册操作界面。
(3)显示网站公告信息。
(4)提供用户登录界面。
(5)显示家教信息,课程信息,发布需求等部分信息。
(6)提供相应的友情链接。
(7)提供用户平台内搜索的界面。
(8)显示平台的服务协议内容。
4.2.2 后台功能设计
后台是对各类信息的管理及逻辑功能实现等,具体的功能结构设计如下:
(1)实现用户注册功能。
(2)实现用户登录功能。
(3)实现注册用户的平台内搜索功能。
(4)实现注册用户的个人信息修改功能。
(5)实现注册用户的留言功能。
(6)记录对应的早教服务进行评价功能。
(7)即时更新平台公共信息。
根据前台的功能需求和后台的功能需求,确定平台功能模块。
4.3 系统数据库设计
4.3.1 数据需求
针对平台的用户和管理,分别对学员、教员和管理员进行详细的分析,总结出如下的需求信息:
(1)学员有独立的账号、基本信息、联系方式、照片信息,所以要有对应的账号表、基本信息表、联系方式表及照片信息表。
(2)教员有独立的账号、基本信息、联系方式、照片信息,所以要有对应的账号表、基本信息表、联系方式表及照片信息表。
(3)学员有独立的教员库、联系过的教员,所以要有对应的教员库表、联系教员表。
(4)学员和教员都有星级评价,所以要有对应的评价记录表。
(5)平台要有留言反馈,所以要有记录留言表。
(6)平台有网站公告、早教咨询,所以要有公告记录、咨询记录表。
(7)平台有广告报价,所以要有价格记录表。
4.3.2 数据库概念设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程称为概念结构设计。本平台按照自顶向下的设计方法,首先得到全局概念结构,再逐步细化,得到完整的概念结构。
1、平台简要E-R图
早教服务平台的主要实体有学员、教员、管理员、广告、论坛等,其中管理员能对其它实体进行管理,而学员和教员之间除了可以相互进行评价外还可以相互预定。实体之间具体的关系模式如图4.6所示。

图4.6 早教服务平台简要E-R图
2、教员实体
教员实体具有的属性:教员编号、登录名、登录密码、姓名、性别、地址、MSN、QQ、Email、电话号码、评价星级记录。如图4.7所示。

图4.7 教员实体
3、学员实体
学员实体具有的属性:学员编号、登录名、登录密码、姓名、性别、地址、MSN、QQ、Email、电话号码。如图4.8所示。

图4.8 学员实体
4、管理员实体
管理员实体具有的属性:管理员编号、登录名、登录密码。如图4.9所示。

图4.9 管理员实体
5、论坛实体
论坛实体具有的属性:帖子编号、主题、内容、发帖人ID、回复人ID。如图4.10所示。

图4.10 论坛实体
6、广告实体
广告实体具有的属性:广告编号、主题、价格、内容、类型。如图4.11所示。

图4.11 广告实体
4.3.3 数据库逻辑结构设计
逻辑结构设计的任务是将概念结构设计阶段设计好的基本E-R图转化为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。该平台选用的是Oracle数据库,属于关系数据库,因此应该将概念模型转变为关系模型。概念模型转变为关系模型的实质就是如何将实体型,实体的属性和实体之间的联系转化为关系模式并确定这些关系模式的属性和码。如下所述将基本E-R图转化为关系模式。
1、实体型转化为关系模式
根据基本E-R图转化为关系模式的原则,一个实体转化为一个关系模式,实体的属性就是该关系模式的属性,实体的码就是该关系模式的码。
(1)教员实体转化为一个关系模式R1: 教员信息(教员编号,登录名,登录密码,姓名,性别,地址,MSN,QQ,Email,电话号码,评价星级记录,擅长科目,所在学校),该关系模式主键为(教员编号)。
(2)学员实体转化为一个关系模式R2:学员信息(学员编号,登录名,登录密码,姓名,性别,地址,MSN,QQ,Email,电话号码,评价星级记录)该关系模式主键为(学员编号)。
(3)管理员实体转化为一个关系模式R3:管理员信息(管理员编号,登录名,登录密码)该关系模式主键为(管理员编号)。
(4)论坛实体转化为一个关系模式R4:论坛信息(帖子编号,主题,内容,发帖人ID,回复人ID)该关系模式主键为(论坛编号)。
(5)广告实体转化为一个关系模式R5:广告信息(广告编号,内容,类型,价格)该关系模式主键为(广告编号)。
2、实体间的联系转化为关系模式
对于实体间联系转化为关系模式有以下几种情况:(1)一对一(1:1)联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。若转化为一个独立的关系模式,则与该联系相连接的各个实体的码以及联系本身的属性均转化为关系的属性,每个实体的码均是该关系的候选码。若与某一端的实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一对多(1:N)联系可以转化为一个独立的关系模式,也可以与N端对应的关系模式合并。若转化为一个独立的关系模式,则与该联系相连接的各个实体的码以及联系本身的属性均转化为关系的属性,而关系的码是N端实体的码。(3)多对多(N:M)联系则可以将其转化为若干个一对多关系来进行处理。
(1)教员实体的关系模式R1、学员实体的关系模式R2与管理员实体关系模式生成一个新的关系模式R6:用户信息(用户编号,用户名,用户密码),该关系模式的主键为(用户编号)。
(2)教员实体的关系模式R1与学员实体的关系模式R2生成一个新的关系模式R7:基本信息(基本信息编号,姓名,性别,地址,评价星级记录,擅长科目,所在学校,用户编号),该关系模式的主键为(基本信息编号),外键为(用户编号)。
(3)教员实体的关系模式R1与学员实体的关系模式R2生成一个新的关系模式R8:联系方式信息(联系方式编号,MSN,QQ,Email,电话号码,用户编号)该关系模式的主键为(联系方式编号),外键为(用户编号)。
(4)教员实体的关系模式R1与学员实体的关系模式R2生成一个新的关系模式R9:学员需求信息(需求编号,学员编号,教员编号,需求性别,预付价格,需求地址,需求简介),该关系模式的主键是(需求编号),外键为(学员编号,教员编号)。
(5)教员实体的关系模式R1与学员实体的关系模式R2生成一个新的关系模式R10:评价信息(评价编号,评价内容,评价时间,学员编号,教员编号),该关系模式的主键是(评价编号),外键为(学员编号,教员编号)。
(6)论坛实体的关系模式R4自关联故合并成关系模式R4′:论坛信息(帖子编号,主题,内容,用户ID)该关系模式主键为(论坛编号),外键为(用户ID)
(7)广告实体的关系模式R5自关联故合并成关系模式R5′:广告信息(广告编号,内容,类型,价格)该关系模式主键为(广告编号)。
4.3.4 数据库表设计
该平台建立的数据库名为tutor,总共有14张表,其中主要包括用户表,教员表,学员表,学员需求表,评价表,基本信息表,联系方式表,广告记录表,发帖表,回帖表等。
表4-1 教师信息表
字段名 数据类型 长度 允许为空 是否为主键 说明
teacherId int 0 True 是 教员编号
teacherName varchar 50 False 姓名
phone varchar 50 False 手机号
password varchar 100 False 密码
wxNumber varchar 100 False 微信号
gender int 0 False 性别
province varchar 50 False 省份
coursePrice int 0 False 课酬
personImg varchar 200 False 真实头像
birthday varchar 100 False 生日
education int 0 False 目前学历
identity int 0 False 目前身份
registTime varchar 100 False 注册时间
lastLoginTime varchar 100 False 最近登录时间
professional varchar 50 False 所学专业
表4-2 订单表
字段名 数据类型 长度 是否为空 主键 说明
toId int 0 True
oId int 0 False 早教订单编号
memberId int 0 False
teacherId int 0 False 教员编号
courcePrice int 0 False 课酬
takeTime varchar 50 False 接单时间
remark varchar 200 False
takeStatus int 0 False 接单状态

表4-3公告表
字段名 数据类型 长度 是否为空 主键 说明
nId int 0 True 主键
title varchar 50 False
content longtext 0 False
type int 0 False 1通知公告2学员必读3教员必读
source varchar 50 False
viewNum int 0 False
pubTime varchar 50 False
sort int 0 False
display int 0 False

表4-4 新闻表
字段名 数据类型 长度 允许为空 是否主键 说明
nId int 0 True
title varchar 200 False 标题
degree int 0 False 10-1岁 21-1.5岁 31.5-2岁
content longtext 0 False 文章内容
source varchar 100 False 来源于
viewNum int 0 False 浏览量
display int 0 False 是否显示
pubTime varchar 50 False 发布时间
sort int 0 False 排序

表4-5 价格表
字段名 数据类型 长度 允许为空 是否为主键 说明
pId int 0 True 主键 各年级科目价格表
gradeId varchar 50 False
minPrice double 10 False
maxPrice double 10 False
teacherType int 0 False
gradeType int 0 False 科目大类,在数据字典表中

表4-6联系方式表
序号 字段名 数据类型 长度 允许为空 是否主键 说明
1 CONTACT _ID NUMBER 10 否 是 信息编号
2 MSN VARCHAR 20 是 否 MSN账号
3 QQ NUMBER 15 是 否 QQ账号
4 EMAIL VARCHAR 20 否 否 电子邮箱
5 PHONE VARCHAR 15 否 否 电话号码
6 USER_ID NUMBER 10 否 否 外键
表4-7 授课信息表
字段名 数据类型 长度 允许为空 是否为主键 说明
fotId int 0 True 主键
name varchar 50 False
phone varchar 50 False
teachingCourse int 0 False
teachingCourseName varchar 50 False
wxNumber varchar 100 False
orderPrice varchar 50 False
teacherId int 0 False
remark text 0 False
state int 0 False 1发布中2学员联系中3教员联系中4试授课中5已完成6请早教失败7退款中
publicTime varchar 50 False
ip varchar 50 False 客户端ip地址(防止恶意预约)
fotId int 0 True
name varchar 50 False

4.4 本章小结
本章从平台的总体设计、功能详细设计、数据库设计三个方面进行了剖析。总结了平台开发实现后该具有的功能,规划了整体的交互界面,同时对数据库设计进行了详细的描述。通过此章不仅可以详细了解数据的流动和处理,还可以大致预想到平台开发成功后的基本模样。

第5章 早教平台的实现
基于JAVA EE开放式早教服务平台选择了MYEclipse6.5作为开发环境,数据库为Oracle,服务器为Tomcat6.0.2,java作为其开发语言,采用B/S结构,采用JSP实现前端动态页面,采用MVC开发模式。该平台所实现的功能包括用户在平台发布和管理需求信息,管理个人信息,讨论相关主题,对相关的教员进行评价等。
5.1 开发环境
5.1.1 硬件环境
平台的硬件环境主要有以下条件构成:Intel 酷睿2双核 T7450、2GB DDRIII、14.1英寸 1280x800、250GB SATA、NVIDIA GeForce 930、100Mbps网卡。
5.1.2 软件环境
平台开发过程中所处的软件环境如下:Windows10 ,IDEA
5.2 运行环境
平台的服务器运行在Windows操作系统下。该平台为网络版,所以用户只要在能连接网络的环境下通过浏览器均能访问平台进行操作。
5.3 MVC体现
(1)“M”即model层结构在平台开发过程中集中体现在名为basis的包(package)下,它包含了entity包和model包。entity包是用以进行数据持久化的,里边有对应实体的java类和Hibernate的.hbm.xml配置文件,如用户的基本信息在entity里边有Info.java和,里面包含了Manage包用来进行业务逻辑管理和dao包用来实现业务逻辑,Manage和dao都通过写抽象类和实现类来对数据进行封装。
(2)“V”即view层结构则主要体现在webRoot目录下,所有呈现视图的JSP页面全部存在webRoot目录下。
(3)“C”即control层结构主要体现在manage包中,里边有对应的Action 来对程序的走向流程进行控制。如将基本信息从视图获取一直到存入数据库,这一整个过程都是通过InfoAction类来控制的。
5.4 表单乱码设计
因为所有的页面都将使用GBK编码,所以提交的表单也是GBK编码。在JSP中设置request的编码为GBK就可以解决POST方式提交表单的中文乱码问题。具体代码为request.setCharacterEncoding(“GBK”)。
5.3.3 相关的xml配置文件
(1)Basis.xml是spring的配置文件,它是配置连接数据源、Session工厂、事务拦截器bean的xml文件。其中连接数据源配置控制平台所连接的数据库类型和方式,如该平台是通过DBCP连接池方式连接的Oracle数据库;Session工厂则是控制持久化数据类和数据库对应表的映射,通过它可以控制每一个实体类都能映射到唯一的数据表;而事务拦截器bean是用以拦截开发过程中进行非法命名的java类,以保证开发代码的规范性和安全性。
(2)mvc-config.xml是控制MVC跳转的配置文件,通过配置属性来进行模型-控制器-视图之间的跳转。
(3)views.xml是对平台的所有JSP页面进行命名配置。如给实现主页面的main.jsp命名为main,在平台开发过程中如要实现跳转到主页面,则在传参时只要传main即可,而不用加.jsp的后缀。
(4)Entity.xml是配置业务逻辑管理Manage和业务逻辑实现dao之间关系的,通过配置该文件,可以控制每一个逻辑管理都能对应与之匹配的逻辑实现。在Action中之所以调用Manage中的方法就能实现该逻辑业务,就是因为在改文件中进行了配置。如基本信息的保存操作,在InfoAction中调用InfoManage.saveInfo()就能实现对基本信息的保存操作,但在InfoManage中其实只定义了实现该逻辑的方法,具体的实现在InfoDaoImpl中。其业务逻辑的具体控制过程如图5.2所示。
图5.2 业务逻辑控制图
5.4 前台功能模块实现(需要补充图片)
5.5.1 导航条和Log模块
(1)功能描述:该模块用于显示早教服务平台的LOG、名称和导航指引。
(2)功能实现:实现该功能的JSP为Top.jsp,通过使用JSP中的IMG标签导入平台的LOG名称,通过使用OPTION等标签,将导航指引名显示出来,并通过链接标签来实现导航的跳转。实现该功能的流程图如图5.3所示。

图5.3 导航和log实现流程图
5.5.2 网站公告模块
(1)功能描述:用于显示平台发布的最新公告的主题,以便用户能及时预览和查看相关的最新消息。
(2)功能实现:该模块实现于flashad.jsp中,其中图片使用IMG标签导入,每一条公告通过使用标签以链接的形式跳转到具体消息页面,公告的主标题则通过使用

来实现显示。实现该功能的流程图如图5.4所示。

图5.4 网站公告实现流程图

(3)网站公告的实现效果如图5.5所示。

图5.5 网站公告实现效果图
5.5.3 用户注册模块
(1)功能描述:提供给平台未注册用户进行注册,以便能够享受到平台完善的服务功能。
(2)功能实现:该功能的实现主要有三个表现,首先用户选择注册的身份,然后填写注册信息,最后管理员审核信息通过后反馈注册结果。其中用户选择实现于Login.jsp;填写注册信息分为学员和教员,前者实现于Student_reg.jsp,后者实现于Teacher_reg.jsp;管理员审核通过并将数据存入数据库实现于Action中的方法saveInfo(),而反馈结果则实现于Reg_result.jsp。实现该功能的流程图如图5.6所示。

图5.6 注册功能图
审核通过后,则存入数据库,如学员信息存入数据库核心代码如下:
//创建学员相关实体
StudentZh stuzh = new StudentZh();
StudentJb stujb = new StudentJb();
StudentLx stulx = new StudentLx();
//将学员信息存入对应实体
stuzh.setUsername(username);
stuzh.setPassword(password);
stuzh.setEmail(email);
stujb.setRealname(RealName);
stujb.setStuSf(xysf);
stujb.setAge(Age);
stujb.setFdWay(Qualification);
stujb.setPosition(Position_b);
stulx.setQq(Long.parseLong(qq));
stulx.setMsn(request.getParameter(“MSN”));
stulx.setPhone(request.getParameter(“Tel”));
//通过调用manage方法将数据存入数据库
studentManage.saveStuLx(stulx)
studentManage.saveStuLx(stujb)
studentManage.saveStuLx(stuzh)
(3)用户注册功能实现效果
选择注册身份如图5.7所示。

图5.7 选择注册身份
教员填写注册信息如图5.8所示。
图5.8 教员填写注册信息
学员填写注册信息如图5.9所示。

图5.9 学员填写注册信息
注册结果如图5.10所示。

图5.10 注册结果图
5.5.4 用户登录模块
(1)功能描述:该模块提供给注册用户进行平台登录。
(2)功能实现:实现该功能的前端JSP为Lgin.jsp,前端通过使用JSP中的IMG标签导入图片等方式实现。实现判断用户是否能够成功登录平台则在LoginAction类中实现。实现该功能的流程图如图5.11所示。

图5.11 登录功能图
验证登录用户的账号是否合法核心代码如下:
//获取用户账号密码及验证码
String username = request.getParameter(“username”);
String password = request.getParameter("password ");
String ckstr = request.getParameter("ckstr ");
//调用manage方法判断用户账号和密码、验证码是否合法
Boolean flag1=checkUserManage.ckuserZh (username,password);
Boolean flag2=checkUserManage.ckuserYzm (ckstr);
//如果成功则跳转到主界面,失败则重新登录
if(flag1&&flag2){
return new ModelAndView(this.getViewPage());
}else{
return new ModelAndView(this.getLoginPage());
}
(3)用户登录实现效果如图5.12所示。

图5.12 用户登录
5.5.5 用户信息展示模块
(1)功能描述:用于显示最新教员或学员的部分信息。其中右上角的“更多”能够跳转到教员或学院的搜索功能界面。
(2)功能实现:如教员信息显示实现如图5.13所示。

图5.13 最新教员部分信息显示
最新教员或学员部分信息显示为前端数据,实现于main.jsp中。其中信息显示部分通过使用JSP的

标签等进行实现,右上角的“更多”功能则使用 链接标签来实现跳转到教员或学员的搜索界面。
5.5.6 咨询中心模块
(1)功能描述:提供给用户幼儿教育、基础教育、热点培训信息的链接功能。
(2)功能实现:咨询中心实现效果如图5.14所示。

图5.14 咨询中心
咨询中心为前端显示功能,实现于main.jsp中。图片及内容显示通过使用JSP中的导入、

表格等标签来进行实现,其中的三个链接功能则是使用 标签来实现的。
5.5.7 友情链接模块
(1)功能描述:提供给用户与平台相关的友好门户网站的链接功能。
(2)功能实现:友情链接实现效果如图5.15所示。

图5.15 友情链接	

友情链接亦是平台的前端显示功能,实现于main.jsp中。内容显示通过使用JSP中的

表格进行实现,分割线使用JSP中的
实现,其中的各个门户网站的链接功能则是使用 标签来实现的。
5.5.8 搜索模块
(1)功能描述:提供给用户对教员或学员进行搜索,以便快速的寻找到自身需要的合适的服务。
(2)功能实现:搜索界面通过使用JSP中的
、等标签实现于search.jsp,数据搜索则实现于SearchAction类。实现该功能的流程图如图5.16所示。

图5.16 搜索功能图
如搜索学员数据的核心代码如下:
//获取用户输入的搜索条件
List list = new ArrayList();
String[] strs=null;
String option = request.getParameter(“option”);
String option1= request.getParameter(“option1”);
//获取省份
String sf = request.getParameter("sf ");
//获取地区
String dq = request.getParameter("dq ");
//获取辅导方式
String fdfs = request.getParameter("fdfs ");
//获取发布时间
String fbsj = request.getParameter("fbsj ");
//获取其它的关键字
String key = request.getParameter(“key “);
//分别判断是否为空,不为空则数量加入list
如判断省份、地区是否为空
if(!””.equals(“sf”)){
list.add (“sf”);
}
//从list中取出数据传参到manage方法进行数据查询,返回查询结果
for(int i=0; i<list.size; i++){
strs = new String(list.size);
}
list=checkInfoManage.ckInfo (strs);
学员搜索实现效果如图5.17所示。

图5.17 学员搜索
5.5.9 客服中心模块
(1)功能描述:提供给用户详细的平台联系方式,以便用户能及时反馈使用平台后的建议和意见。
(2)功能实现:客服中心模块实现效果如图5.18所示。
图5.18 客服中心
客服中心为前端显示功能,主要使用JSP中的各类标签进行实现,其中左边的四个链接使用集中体现,以显示出独立的效果。
5.6 后台功能模块实现
5.6.1 管理模块显示
(1)功能描述:给用户提供一个用于个人信息管理的操作界面。
(2)功能实现:如学员管理个人信息的实现效果如图5.19所示。
图5.19 学员管理
此功能是提供个人信息管理的操作界面,故使用JSP中的集中表现各种功能,然后使用JSP中如、

等标签即可实现。
5.6.2 账号信息管理
(1)功能描述:平台用户管理个人的账号信息,如对账号密码进行修改等
(2)功能实现:前端通过JS对输入的信息进行是否为空判断,如均不为空则提交数据到后台进行数据修改。如学员账号信息管理实现效果如图5.20所示。
图5.20 学员账号信息管理
学员账号管理实现的核心代码如下:
//获取学员账号信息
String username = request.getParameter("username ");
String password = request.getParameter("password ");
String new_password= request.getParameter("new_password ");
String eamil = request.getParameter("eamil ");
//判断根据username判断password是否正确
Boolean flag = checkInfoManage.ckPwd (username, password);
//若真则修改,否则报错
if(flag){
checkInfoManage.upPwd (username, new_password);//更新密码
return new ModelAndView(this.getViewPage());
}else{
return new ModelAndView(this.getErrorPage());
}
5.6.3 基本信息管理
(1)功能描述:平台用户管理个人的基本信息,如对姓名、年龄进行修改等。
(2)功能实现:前端通过JS对输入的信息进行是否为空判断,如均不为空则提交数据到后台进行数据修改。如学员修改个人基本信息的实现效果如图5.21所示。
图5.21 学员管理基本信息
学员的基本信息管理实现的核心代码如下:
//创建基本信息实体
StudentJb stujb = new StudentJb();
//获取输入的基本信息同时存入实体
stujb.setRealname(request.getParameter(“RealName”);
stujb.setStuSf(request.getParameter(“xysf”).toString());
stujb.setAge(Long.parseLong(request.getParameter(“Age”);
stujb.setFdWay(request.getParameter(“Qualification”);
stujb.setPosition(request.getParameter(“Position_b”);
stujb.setPositionA(request.getParameter(“qt1”).toString());
stujb.setPositionB(request.getParameter(“qt2”).toString());
stujb.setPositionC(request.getParameter(“qt3”).toString());
stujb.setSex(request.getParameter(“Sex”).toString());
stujb.setSalary(Long.parseLong(request.getParameter(“Salary”).toString()));
stujb.setProvince(request.getParameter(“Province”);
stujb.setCity(request.getParameter(“City”).toString());
stujb.setCounty(request.getParameter(“County”).toString());
stujb.setStuJj(request.getParameter(“jj”).toString());
//进行数据更新
Connection conn = getSession().connection();
PreparedStatement stat;
stat = conn.prepareStatement(sql.toString());
stat.execute();
5.6.4 联系方式管理
(1)功能描述:平台用户管理个人的联系方式,如对住址、电话进行修改等。
(2)功能实现:前端通过JS对输入的信息进行是否为空判断,如各项均不为空则提交数据到后台进行数据修改。如学员修改个人联系方式的实现效果如图5.22所示。
图5.22 学员联系方式管理
学员修改联系方式实现的核心代码如下:
//创建联系实体
StudentLx stulx = new StudentLx();
//获取输入的信息同时存入实体
stulx.setFmlAddres(request.getParameter(“HomeAddr”).toString());
String qq = request.getParameter(“QQ”).toString();
if(!( “”.equals(qq) )){stulx.setQq(Long.parseLong(qq));
}else{stulx.setQq(Long.parseLong(“0”));}
stulx.setMsn(request.getParameter(“MSN”));
stulx.setPhone(request.getParameter(“Tel”));
//进行数据更新
Boolean flag2 = checkUserManage.saveStuLx(stulx);
Connection conn = getSession().connection();
PreparedStatement stat;
stat=conn.prepareStatement(sql.toString());
stat.execute();
5.6.5 邀请管理
(1)功能描述:平台用户教员和学员用于管理邀请预订。
(2)功能实现:前端通过JSP实现交互界面,通过JS对是否选中数据修改项进行判断,然后进行是否删除操作以及更新操作结果。如学员管理早教邀请实现效果如图5.23所示。
图5.23 早教邀请
学员早教邀请管理实现的核心JS代码如下:
function cktcbox(){
var tcbox= document.getElementById(“Tcbox”).checked;
if(tcbox){
tcbox .checked = none;
return true;
}else{
ckgre.innerHTML = “请确认已选择”;
return false;
}
}
5.7 论坛模块实现
(1)功能描述:平台用户在此发主题进行交流讨论等,内容会经过管理员审核才能显示在论坛区域。
(2)功能实现:前端通过JS对输入的发帖信息或回帖信息进行是否为空判断,如各项均不为空且经过管理员审核后则提交数据到后台进行数据保存。如回复留言实现效果如图5.24所示。
图5.24 论坛留言
保存留言信息功能实现的核心代码如下:
//获取留言信息
String project = request.getParameter("project ");
String content = request.getParameter("content ");
String username= request.getParameter("username ");
String phone = request.getParameter("phone ");
String yzm = request.getParameter("ckstr ");
//调用帖子Manage判断验证码是否正确
Boolean flag = checkPostManage.ckYzm (yzm);
//若真则保存同时发布,否则报错
if(flag){
checkPostManage.savePost (project, content,username);
return new ModelAndView(this.getReplyPage());
}else{
return new ModelAndView(this.getErrorPage());
}
5.8 本章小结
本章通过以程序流程图、部分功能的实现核心代码及实现后的效果图片展示了平台各个功能的实现。主要分为前台功能的实现和后台管理功能的实现,通过本章可以看到平台各个功能模块实现后的具体显示和操作界面,能过直观的看到用户与平台的交互效果。

第6章 结论与展望
6.1 结论
普通的早教服务模式如实体中介,限制了教员和家长多沟通并禁止双方主动联系。家长在整个请早教的过程中都根本见不到教员面,甚至从来没有通过电话,完全听凭中介来挑选教员,使家长难以做到真正的放心。家长在苛刻的限制下找到一个教员,还要支付一笔昂贵的中介费。 显然这种做法诚信度低,操作难度大,家长抱怨多。已经完全不适合社会信息化进步发展,网络早教服务平台应运而生。
在通过指导老师的悉心指导下和相关书籍的帮助下,在改网络早教服务平台开发过程中具体完成的主要工作包括:
1、编写了该早教平台的需求分析和总体设计。
2、实现了用户注册与登录,教员和学员双向搜索,学员对教员进行评价,学员和教员双向邀请,用户发布需求信息,客服中心等基础功能。
3、其中主要集中完成了教员可以发布自己的能力信息,免费查看网站上的教员、学员信息,搜索适合自己的学生,并向其发出邀请;学员也可以发布自己的需求信息,让更多教员看到自己的真实信息,同时也可以查看教员发布的信息,并向自己满意的教员发出邀请;用户个人信息的管理,如账号信息、基本信息、联系方式等。
通过此次毕业设计,在动手能力方面有了一定了进步。但同时也发现开发一个服务平台应具备的知识不仅仅局限于所使用的语言,作为一个开发式服务平台更为重要的是对数据的安全处理,而在开发过程中却只集中与平台功能的实现,忽略了对数据安全性的更多考虑。在今后在工作的过程中,在增强动手能力的同时,也将更为注重知识的积累,以及软件平台开发过程中的的重点集中区域,以便能快速正确的开发出合格的软件。
6.2 展望
随着升学压力的增长,社会竞争力的不断上升,家长也越来越愿意巨额的财力物力帮助子女提高学习成绩,使孩子在成长的道路上抢占先机,早教也就越来越被学生家长看重。
虽然在中国一些小城市里早教服务平台还以门市存在,但是在诸如北京,上海等大城市中,网络早教服务已经呈现出成熟化、规范化、多元化的强劲发展势头。网络早教服务平台公开化的交流方式,不仅使用户双方能快速的找到所需,也能使双方在保证安全的前提下把投入成本降到了最低化。随着信息化的强势发展,网络早教服务平台也将跟着这股潮流进入一个大发展的时代,届时期望各大高校均有早教服务平台,带领早教服务事业更上一层楼。
致谢
感谢学院给我们提供了舒适的工作和学习环境,使我能够顺利的完成系统的设计和开发。特别要感谢我的指导老师李晓鹏老师,本论文是在李晓鹏老师的指导下完成的。在做毕业设计的过程中,她始终给予我悉心的关怀与认真的指导,耐心的倾听我的提问,并及时帮我解决问题。她的工作态度认真负责、治学态度严谨有序,值得我学习。在此,我对她表示由衷的感谢。
系统开发期间,和同学们之间的相互探讨也使我获益匪浅。近两个月时间内,我一边学习ASP和数据库方面的理论知识,一边把理论应用于实践,在实践中发现并解决问题,真正做到了学以致用。我在毕业设计期间学到了很多东西,不仅是专业知识,还有认真严谨的态度,所以再次感谢我的老师和我的同学。

参考文献
[1]杨晨.基于Android的教室预约系统的设计与实现[J].电脑知识与技术,2023,19(09):60-65.DOI:10.14004/j.cnki.ckt.2023.0424
[2]张中秋,束元.基于移动终端的泊位预约系统设计与实现[J].现代信息科技,2022,6(18):11-14+19.DOI:10.19850/j.cnki.2096-4706.2022.18.003
[3]李唯.基于SpringBoot+Mybatis的驾校预约系统设计与实现[J].电脑编程技巧与维护,2022,(03):10-12.DOI:10.16184/j.cnki.comprg.2022.03.003
[4]郑文明,彭梦晶,李浩.智能化分时段预约系统的设计与实现[J].中国卫生信息管理杂志,2022,19(01):95-99.
[5]刘一澎.基于微信小程序的专家预约系统的设计与实现[D].南京大学,2021.DOI:10.27235/d.cnki.gnjiu.2021.001300
[6]陈一,安毅.基于B/S架构下的学生评教管理系统设计与实现[J].电子测试,2017,(04):69-71.DOI:10.16520/j.cnki.1000-8519.2022.04.037.
[7] 黄银可.O2O模式下的早教互动服务设计应用研究[D].浙江工业大学,2022.
[8]何婕.六安市哈喽贝比早教企业的发展战略研究[D].南京邮电大学,2022.DOI:10.27251/d.cnki.gnjdc.2022.000459.
[9] 万荣泽,莫洪武,覃卫东.基于UML和ASP.NET技术网上评教管理系统的设计与实现[J].软件导刊,2009,8(07):186-189.
[10]尹洪岩.关于计算机技术在农产品物流管理中的实践[J].中国储运,2024,(03):180.DOI:10.16301/j.cnki.cn12-1204/f.2024.03.074.