1、本科毕业论文(20 届)家长与学校交流平台的设计与实现前台管理所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要随着社会的发展,网络深入到我们生活的方方面面,同时也成为人们信息交流的主要工具。本文就论述了一个基于网络的中小学教师与家长交流平台的研究与实现过程。本系统在 B/S(Browser/Server,浏览器/服务器)模式下,通 过 JSP(Java Server Page)动态网页技术实现。其中 Web 服务器采用 Apache Tomcat7.0,数据库管理系统采用MySQL,开发工具使用 MyEclipse10.0,所使用的技术有JSP、JDBC、hibernate、st
2、ruts、JavaScript 等。本平台为教师、学校和家长提供了一个快捷有效的交流环境,其中系统管理员主要实现对家长信息、教师信息、学生信息、班级信息、学生考试成绩等的管理;教师和家长以学生为纽带进行交流,教师可以查看所教学生的家长信息、对学生发布评语,家长可以查看教师信息、查看子女的考试成绩及教师的评语,同时可以查看学校的通知了解学校最新情况。关键词: 交流;B/S 框架;网络 ABSTRACTWith the social development, network deep into all aspects of our lives, but also become the main t
3、ool for the exchange of information. This article discusses a web-based communication platform for teachers and parents research and implementation process.This system B / S (Browser / Server, Browser / Server) mode, the JSP (Java Server Page) dynamic web technology. Where the Web server using Apach
4、e Tomcat7.0, database management system using MySQL, development tools MyEclipse10.0, the techniques used are JSP, JDBC, hibernate, struts, JavaScript, etc. The platform for teachers, schools and parents to provide a quick and effective communication environment in which the system administrator mai
5、n achievement information to parents, teacher information, student information, class information, student test scores and other management; teachers and parents of students as a link exchanges, the teacher can view the information of the parents to teach students, post a comment on students, parent
6、s can view the teacher information, view their childrens test scores and teachers comments, but you can view the schools notice about the school updates.Keywords: AC; B / S framework; Network目录1 绪论 .11.1 课题背景 .11.2 课题研究的目的和意义 .11.3 课题的主要研究工作 .12. 实现技术 .22.1 Java 技术 .22.2 jsp 技术 .32.3 Struts 技术 .32.4
7、 hibernate 技术 .32.5Javascript 技术 .42.6 Ajax 以及 json 技术 .43.系统分析 .43.1 需求分析 .43.1.1 管理员功能模块 .43.1.2.教师模块 .53.1.3 家长模块 .53.2 可行性分析 .53.2.1 应用分析 .53.2.2 可行性前提 .53.2.3 对于技术的支持 .63.2.4 校方的收益问题 .64.系统设计 .64.1 系统的目标 .64.2 系统功能结构 .64.3 开发环境 .74.4 数据库的设计 .74.5 系统预览 .85.总 结 .16参 考 文 献 .18致 谢 .1911 绪论网络作为我们每个人
8、熟知的一种工具,它最大的作用莫过于信息的共享以及人与人之间的交流。随着信息化社会的到来,网络的普及,信息的交流变得非常容易,人们开始希望能通过网络完成各种各样的事情,包括学校的发展。当前,很多学校都已经拥有自己的网站,他们希望人们通过网站能够更好的了解学校,关注自己。随着校园网站的细化,我们会发现许多校园业务都可以通过网站代替,例如,家长与教师之间的沟通,学生信息管理等,这些都是学校网站需要开发的板块。我们此次开发就是针对校园网站,开发家长与学校交流平台,互动双方只要简单的登录网站,就能够完成信息的沟通。这种交流方式简单,省时,无地域差异, 能够更好的完成家校间的沟通,提高学校的教学质量。在以
9、下的文章中我们会具体阐述家长学校平台的开发意义,目的,以及主要功能模块。1.1 课题背景我国是作为一个发展中国家,对孩子的教育有着极大的重视,孩子是祖国的未来,当然我们的家长也都知道教育的重要,但是在以前他们更多的是依赖老师对学生的管理,很少与学校沟通。不过随着网络的发展,生活的信息化,我们家长也开始有意识了解孩子的在校情况,他们会希望更多的了解孩子。当然会有很多方法与教师交流,作为这些方法中的一种,我们的家校平台无疑是简单,省事,又经济可行的。作为当代的交流工具它代替了原先的家访,家长会,教师以及家长可以直接通过 Internet 接入到本网站。作为家长能够及时了解学校新的动向。而老师一旦有
10、问题也可以及时和家长沟通,更好的解决了交流信息不及时的问题。提高了老师工作效率,减少了大家的时间,同时更好的解决了学生的问题,使家长更好的了解孩子的在校情况。1.2 课题研究的目的和意义课题研究的目的就是交流,主要意义就是学生的教育问题,提供家长学校交流的一个沟通平台,减少老师的工作量的同时更好的与家长沟通。希望当下的学生在老师和家长共同的努力下,成为更为优秀的下一代,防止因为忽视造成学生人生的误差。1.3 课题的主要研究工作本系统作为家长与学校的交流工具,只能作为学校系统的一个子模块。该程序主要包含三个模块:管理员模块、教师模块、家长模块。管理员主要用来管理相关的信息,包括教师信息,学生信息
11、,家长信息,班级信息,公告信息等。当然作为交流系统。任课教师对自己所教授的学生的评语以及家长回复的信息为本系统最重要的模块。当然,在页面方面,像页面的局部刷新以及数据访问主要用到了 Ajax 异步传输,和 json 完成对象的转换,并显示在页面,还有就是一些 js 函数用于对网页提交数据的校验。还有就是下拉菜单的实现。在页面中用到了 dreamweaver 对页面进行整体布局,使页面看起来统一,整齐,美观。然后通过 struts 前台对后台数据接口进行访问。后台方面通过不同2的 action 调用不同的函数,利用 hibernate 访问数据库,完成对数据库更新操作,然后在页面上显示信息。另外
12、还有专门的 servlet 通过过滤器完成对特定页面的拦截,实现对 ajax 异步读取数据的响应。还有通过过滤器完成对中文乱码的过滤。最后,就是文件的上传以及下载问题,导入 jspsmartupload.jar 包,根据 jspsmartupload.jar 下的对应的函数把文件上传到对应的文件夹,在数据库中保存文件信息用于文件下载模块的实现。2. 实现技术2.1 Java 技术Java,是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由 Sun 公司的詹姆斯高斯林(James Gosling)等人于 1990 年代初开发。它最初被命名为 Oak,目标设置在家用电器等小型系统的编程语言,
13、来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun 放弃了该项计划。就在 Oak 几近失败之时,随着互联网的发展,Sun 看到了 Oak 在计算机网络上的广阔应用前景,于是改造了 Oak,在 1995 年 5 月以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java 编程语言的风格十分接近 C+语言。继承了 C+ 语言面向对象技术的内核,Java 舍弃了 C+语言中容易引起错误的指针(以引用取代) 、运算符重载(operator overloading) 、多重继承(以接口取代)
14、等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。在 Java SE 1.5 版本中 Java 又引入了泛型编程(Generic Programming) 、类型安全的枚举、不定长参数和自动装拆箱等语言特性。Java 不同于一般的编译运行计算机语言和解释执行计算机语言。它首先将源代码编译成字节码(bytecode) ,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,这同时也在一定程度上降低了 Java程序的运行效率。但在 J2SE1.4.2 发布后,Java 的运行速度有了大幅提升。与传统程序不同 Sun 公司在推出 Ja
15、va 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。 “Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java 语言有以下特点:(1)简单(Simple):指的是去除了 C/C+中较少使用或可能不安全的功能,例如指标,运算子重载,多重继承等。 (2)物件导向的(Object-
16、oriented):利用 OOP 的三种基本特性:PIE(多型,继承,封装),来设计出可重複使用的元件,使系统有弹性易于维护。 (3)网路的(Network-Savvy):提供容易使用的 API 来撰写网路程式 。(4)直译式的(Interpreted):bytecode 在 JVM 上执行时,JIT 负责转换为机器码。 3(5)稳健的(Robust):捨弃了对记忆体的指标运作。 (6)安全性(Secure) : 资源回收处理 (Garbage Collection)由 JVM 自行作记忆体管理,例外处理 (Exception) 可预防突发错误的产生。 (7)结构中立(Architecture
17、 Neutral):程式执行在虚拟机器上。 (8)可携的(Portable): Write once, run anywhere 指的是由 JVM 与不同的作业系统沟通。 (9)高效率的(High Performance):利用 HotSpot, JIT 技术改善效能。 (10)多执行绪的(Multithreaded):Java 程序可发出多隻并行的轻量化行程。 (11)动态的(Dynamic):Java 程式执行时动态的连结类别库。2.2 jsp 技术Jsp 是有 SunMicroSystems 公司倡导的,许多公司参加一起建立的一种动态技术标准,在传统的 html 文件中加入 java 程
18、序片段以及 jsp 标记就构成了 jsp 网页,java 程序段可以操纵数据库,重定向网页以及发送 email 等。所有程序操作都是在服务器上进行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器不支持 java,也可以访问 jsp 网页。Jsp 全名 java server page,其实就是一个简化的 servlet 设计,它实现了 html 中 java 语法的扩张。Jsp 具有 java 的简单易用,完全的面相对象,具有平台无关性安全可靠,主要面向因特网的主要特点。Jsp 主要优势如下:(1)一次编写,到处运行,除了系统之外,代码不做任何更改。(2)
19、系统的多平台支持。基本上可以再所有平台上的任意环境开发,部署,扩展,与asp 的局限性相比,jsp 有很大优势(3)强大的可伸缩性。从一个小的 jar 文件就可以运行 jsp,到由多台服务器进行集群,负载平衡。(4)多样化和功能强大的开发工具支持。(5)服务器端组件。2.3 Struts 技术Struts 是 apache 软件组织提供的一项开放源代码项目,它为 java web 应用提供了模型-视图-控制器(mvc)框架,尤其是用于开发大型的可扩展的 web 应用。Struts 为 web应用提供了一个通用的框架,使得开发人员可以精力集中在如何解决实际业务问题上。此外,Struts 框架提供
20、了许多可供扩展和定制的地方,使得应用程序可以方便的扩展框架,来更好的适应用户的实际需求。系统一旦加入了 struts 的使用,可以大大简化 web应用的开发过程,提高开发效率,缩短开发周期。2.4 hibernate 技术Hibernate 是一个基于 java 的开放源码的持久化中间件,它对 jdbc 做了轻量级的封4装,不仅提供了 ORM 映射还提供数据库查询和数据缓存功能,java 开发人员可以方便的通过 hibernate API 来操作数据库。Hibernate 作为当前的流行框架,有以下优势:(1)它是开源的代码,允许开发人员根据需要改变源码,定制客户化功能。(2)具有详细的参考文
21、档。(3)对 jdbc 做了轻量级封装,如必要,用户可以绕过 hibernate 直接访问 JDBC API。(4)具有可扩展性。(5)使用方便,容易上手。(6)可以再 j2ee 架构中取代 CMP,完成对象持久化。(7)Hibernate 可以和多种 Web 服务器,应用服务器良好集成,并且支持几乎所有流行的数据库服务器。2.5Javascript 技术JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛应用于客户端 web 开发的脚本语言,常用来给 html 添加动态功能,比如响应用户的各种操作。它最初是由网景公司的 brendan Eich 设
22、计,是一种动态、若类型、基于原型的语言。Javascript 也可以用于其他场合,如服务器编程。完整的 javascript实现包含三部分:EcmAScript,文档对象模型,字节顺序记号。2.6 Ajax 以及 json 技术Ajax 并非缩写词,而是由 Jesse James Gaiiett 创造的名词,是一种创建交互式网页应用技术的开发。Ajax 指异步 javascript 及 xml。Ajax 的核心是 javascript 对象XmlHttpRequest。该对象在 Internet Explorer 5 首次引入,它是支持异步请求的技术。简而言之,XmlHttpRequest 使
23、您可以使用 JavaScript 提出请求并处理响应而不阻塞用户。Ajax 优势:(1)通过 Ajax,您的 JavaScript 和 XmlHttpRequest 来直接与服务器通信。可以在不从载页面的情况下与 web 容器交换数据。网页从服务器端读取少量数据,而不是整个页面。可以使因特网应用程序更小,更快,更友好。(2)Json 技术室一种轻量级的数据交换格式,它是基于 javascript 的一个子集。JSON 采用完全独立于语言的文本格式,但是也是用了类似于 c 语言家族的习惯。这些特性使 json 成为理想的数据交换语言。3.系统分析系统要实现那些功能,要有怎样的性能是项目开发的目标
24、,为此,在实际项目开发之前要对项目进行需求分析以及可行性分析,这是项目开发的基础。3.1 需求分析通过对项目的仔细分析以及老师的认真交流,确认了项目的大致模块如下。53.1.1 管理员功能模块教师模块(教师的增、删、改、查)班级模块(班级的增、删、改、查)公告模块(公告的发布、更新、删除、显示)学生模块(学生的添加,删除,列表)个人信息模块(更新自己的信息,管理员添加)3.1.2.教师模块家长模块(家长查找,以及信息查看)公告模块(公告的发布,删除,更新)留言模块(针对某个学生留言,留言的删除)资料的上传个人信息的查看以及更新3.1.3 家长模块教师信息查看校内以及班级公告查看学生成绩的查看教
25、师留言的查看与恢复自己信息的查看3.2 可行性分析可行性分析是系统是否能够开发的重要依据,通过本案例的需求分析的研究,对项目的可行性分析如下。3.2.1 应用分析为了能够完成学校家长之间更好的交流,让家长能够协助老师完成学生的教育问题,提高学生的学习能力,以及学校的学水平,创建家校交流平台,因此提出家长学校交流平台的开发。3.2.2 可行性前提(1) 系统要求 家长学校交流系统必须包含家长与老师关于某个学生的沟通模块,还有家长能及时了解校内的最新动向。 (2) 系统目标 本系统的目标就是家校交流,便于家长老师间的交流,同时能够帮助6老师提供工作效率,高学校教学质量。3.2.3 对于技术的支持在
26、此次开发中,主要涉及的技术是 java,jsp ,还有就是 struts,hibernate 两大框架,和 mysql 数据库。我在本项目中,主要负责前台的实现,主要用到的就是页面的美化,布局,然后调用后台数据,实现页面数据的显示,查询等。其中用到最多的就是 struts,包括页面数据的显示,主要是 struts 标签,还有数据请求。另外,就是通过 ajax 技术动态实现部分数据的请求,局部刷新。另外,还有一些拦截类,用于阻拦用户未登录情况。3.2.4 校方的收益问题信息的网络化取代了人工化,不仅方便了信息的保存,更节省了人工时间,提高信息的安全性以及完整性保障,最主要的就是提高了办事的速率,更好的减少了校方的某些不必要的支出,例如,家长会筹办支出,联系家长移动通信支出,家长到校支出,学校信息保存支出等。在利益方面考虑,家校沟通的网络化,十分必要。以上分析,不论是从技术还是在利弊方向都是可行的,为此我们可以对此项目进行系统的开发。4.系统设计4.1 系统的目标通过小组讨论,以及对老师的咨询,最终确定系统要实现的目标如下。实现需求分析阶段所提出的功能页面要整齐美观,易用,在页面上有树状的导航列表4.2 系统功能结构学校与家长交流平台包括管理员模块,家长模块,教师模块,其系统结构图如图 4.2.1所示。