校友录的实现与设计.docx
- 文档编号:1814066
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:30
- 大小:689.75KB
校友录的实现与设计.docx
《校友录的实现与设计.docx》由会员分享,可在线阅读,更多相关《校友录的实现与设计.docx(30页珍藏版)》请在冰点文库上搜索。
校友录的实现与设计
开封大学
毕业设计(论文)
题目校友录系统的设计与实现
学生姓名王蕾
专业班级12级计算机应用技术5班
学号2012102166
院(系)信息工程学院
指导教师李雪(讲师)
完成时间2015年1月15日
校友录系统的设计与实现
论文摘要
摘要:
再Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
因此网站在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
本文介绍了构建校友录网站的技术和实现方法,重点讲述了注册登陆,留言板,班级相册等几个主要功能的实现。
通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。
基于我校现有的校友录系统功能比较简单、页面粗糙、安全性不强的特点,我们参考了我校现有的系统和一些在线应用系统(比如chinaren,友联等),对我校的校友录系统进行了比较全面彻底的改进,使得我校的校友录系统无论是在功能、用户界面、安全性、可扩充性等都得到了根本的改进。
鉴于在线的校友录系统一般都没有实现即时通讯的功能,而即时通讯已经成为了现代生活的一种强烈的需求,所以在我校的校友录系统中,增加了留言功能,使得用户可以随时随地的即时交流。
本系统采用了目前比较流行的JSP作为前台的开发语言,JSP作为开发语言具有简单易学的特点,但是功能还相当强大。
后台选择SQL2008作为数据库,用SQL2008作中小型系统的数据库不失为一个好的选择。
另外采用Dreamweaver、Flash来美化网页,界面十分友好。
关键词:
校友录JSPSQL2008
第一章开发背景
1.1目的和意义
计算机网络从60年代末70年代初的实验性网络研究,经过70年代中后期的集中式、闭关网络应用,到80年代中后期的局部开放应用,一直发展到90年代的开放式大规模推广,其速度发展之快,影响之大,是任何学科不能与之相匹敌的。
计算机网络的应用从科研、教育到工业,如今已渗透到社会的各个领域,它对于其他学科的发展具有使能和支撑作用。
网上校友录是一个网上同学交流的平台,通过网络同学们之间能快速,与时地互相联系,交流感情。
因此网上校友录能给我们带来更多的方便,让同学之间联系得更快捷。
1.2开发设计思想
现代社会是一个信息化的社会,信息的交流在无形中影响着我们的生活,我们的生活速度随之加快,网上校友录就是一个很好的交流平台,它不仅为我们节约了大量的时间,更我们提供了一个同学交流的空间,让我们在繁忙的生活中获得一份轻松与惬意。
本系统用JSP语言来编写校友录,数据库用SQL来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP+JavaBeans+SQL三层模式完成整个设计工作。
本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。
因此在这样的背景下,针对当前Internet网络发展趋势来计校友录就成为了当今应用软件的首选体系结构。
1.3国内外研究情况
目前世界上各种形式的同学录网站大约有28万个之多,它们在网民心中占有重要地位。
目前国内的校友录系统众多,主要的有5460、搜狐的chinaren、QQ校友录以与各高校自己的校友录系统。
这些校友录系统虽然运用技术不尽相同,但是他们的功能、目的都有着一些共同点。
chinaren、网易等校友录系统运用的是JSP技术,这些服务对象比较广泛、针对性较弱的校友录系统提供的服务都是最普通的,他们能满足绝大多数人的需求,使得分散于全国各地的校友们能找到这样一个虚拟的集体组织,使得大家不用再为如何联系自己长久未见的同学、朋友而发愁,校友录提供的就是这样一个方便联系的平台。
某些高校校友录系统可能创建时间比较早,他们运用的技术也相对较早一些,比如武汉大学和华中科技大学,他们的校友录系统就是运用ASP技术来开发的。
用PHP开发的系统有中国同事录,还有大家比较熟悉的QQ校友录,它是运用html开发的。
以上这些校友录系统运用到了很多不同的技术,但是他们对社会的影响、给人们带来的方便是一样的。
第二章开发工具和环境简介
2.1JSP技术简介
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以与整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
2.2JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。
当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。
这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。
因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
2.3JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:
JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。
Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。
当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。
所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:
JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。
而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
2.4JSP的特点
简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。
这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
与Java平台有机集成。
JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。
在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。
使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台与Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
功能可扩展性。
如同的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(EnterpriseJavaBean)以与自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、SQL这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。
这些隐含对象在JSP页面中可以直接引用,而不必首先声明。
利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。
例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
2.5SQL数据库
SQL是一个小型关系型数据库管理系统,因为SQL有着体积小、成本低、速度快、可移植等优点,目前被广泛地应用在Internet上的中小型网站中。
SQL使用C和C++编写,保证了源码的可移植性,它还为多种编程语言提供了API。
SQL支持多线程,充分的利用了CPU资源,并且优化了查询算法,提高了查询速度。
而且虽然SQL体积小,但是它仍然能较好的处理拥有上千万条记录的大型数据库。
2.6系统数据库连接
JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。
它由一组用Java语言编写的类和接口组成。
通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。
因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的SQL。
不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
1.同一个数据库建立连接;
2.向数据库建立连接;
3.处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。
说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户XX更友好的API或开发工具基础。
第三章校友录功能分析
本系统是基于Web的同学录管理系统的设计与实现,要实现用户的登录和注册、资料修改,好友关系管理,班级通讯录,图片上传,个人相册,班级相册好友动态,个人空间维护(个性签名、日志等),消息管理,公共留言板,退出登录等功能。
3.1系统功能分析
首先对现有系统进行分析,现有系统是信息的重要来源。
分析已有系统的功能和实现,从而确定新系统的设计目标和模型。
由于条件有限,调研主要是在网上进行。
即通过在网上已有的校友录站注册成会员来了解其具备的功能。
本网站提供各种与美食相关的信息,实现了对信息数据的浏览、查询、编辑和删除等基本数据库操作,采用了模块化设计方法,实现了前台功能模块和后台功能模块,前台功能模块包括五个模块组成班级成员管理模块、班级相册模块、班级通讯录模块、班级留言模块、后台管理员系统。
(1)班级成员管理模块
用户注册用户登录资料修改个人空间维护退出登录
(2)班级相册模块
个人相册班级相册图片上传
(3)班级通讯录模块
通讯录信息查询
(4)班级留言模块
消息管理公共留言板
(5)后台管理员系统
用户管理新闻通知管理相册管理留言信息管理
3.2可行性研究
可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。
技术可行性分析
校友录的开发是一项复杂的系统工程。
为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。
这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以与降低开发成本。
工程化的系统开发方法确实在开发实践中取得了一定的效果。
此次开发使用JSP作为开发语言,采用Servlet技术,Tomcat5.0作为Web服务器。
运行可行性分析
随着计算机知识的普与和推广,越来越多的人掌握了计算机的基本使用方法和技能。
随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。
运行环境:
本系统采用联网多机多用户操作方式,系统的运行环境包括硬件、操作系统、关系数据库等软件:
硬盘:
75GB以上硬盘;
内存:
512MB;
显示器:
15.6寸显示器;
操作系统:
Windows8
关系数据库:
SQLServer2008;
3.4系统总体结构图
校友录系统系统功能模块如下图1所示:
3.5系统ER图
学生注册信息实体E-R图如下图2所示:
图2注册用户信息实体E-R图
通讯录信息实体E-R图如下图3所示:
图3通讯录信息实体E-R图
班级相册名称实体E-R图如下图4所示:
图4班级相册实体E-R图
留言信息实体E-R图如下图5所示:
图5留言板信息实体E-R图
新闻管理实体E-R图如下图6所示:
图6新闻管理实体E-R图
第四章校友录系统总体设计
4.1系统功能设计目标
理论系统功能设计目标如下:
(1)实用性强:
我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;
(2)先进的程序结构:
使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;
(3)安全可靠性高:
后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;
(4)使用模块化设计的方法:
使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;
(5)操作简单,维护方便:
每个子系统都具有相对独立的系统维护功能对可变化的项目可自行维护;
(6)查询功能强大:
可以对菜品的基本情况、用户基本情况,菜品评信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能与时准确地掌握用户和菜品等的基本情况。
4.2.校友录功能模块划分
根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:
1.普通用户功能需求分析:
用户注册:
用于注册同学录用户,为安全起见,只有管理员才可以注册用户。
用户登录:
供同学录用户登录。
资料修改:
修改当前登录使用者信息。
个人相册:
上传、删除个人的照片。
班级相册:
上传、删除同学录中使用者的照片。
图片上传:
同学录内使用者可以通过此页面上传图片。
个人空间维护:
可编辑个人签名(心情),发表日志等。
消息管理:
好友之间可嘘寒问暖,互相交流的信息的管理。
公共留言板:
显示给大家的留言。
通讯录:
显示同学录内所有同学的通讯信息。
退出登录:
退出当前用户使用的登录状态。
信息查询:
包括查找学校,同学。
2.管理员功能需求分析:
用户管理:
对申请的用户进行信息审核、对用户账户冻结解冻、删除用户、用修改等。
广告通知管理:
添加网站广告与通知、修改现有广告、删除广告等。
相册管理:
对现有的所有用户的相册中的图片进行管理。
留言信息管理:
对所有用户的所有留言信息进行抽查,然后取缔非法留言。
4.3校友录管理系统的体系结构
三层结构:
即:
JSP技术+JavaBeans+SQL数据库
第五章数据库设计
5.1数据库系统
本系统的前端开发是使用JSP技术,通过JavaBeans进行逻辑控制和数据库连接,而后台数据库采用的是SQL。
SQL数据库管理系统是一项全面完整的数据库与分析产品。
SQL非常容易学习、使用,介绍、学习资料比较多,SQL全面支持Web功能的数据库解决方案,与此同时,SQL还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。
无论以应用程序开发速度还是以事务处理运行速度来衡量,SQL都堪称最为快捷的数据库系统。
对比SQL和其他的大型数据库管理系统,SQL具有可靠的安全性,较快的存储速度,高度的兼容性,简单易用,应用SQL作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础,因此,我们采用了SQL作为后台数据库。
5.2数据库表设计
系统数据库中其中几个表格的设计结果如下面表格所示。
每个表格表示在数据库中的一个表。
本系统的数据库其中包括八个表:
表:
allusers
表:
banjixiangce
表:
dtproperties
表:
liuyanban
表:
xinwentongzhi
表:
yonghuzhuce
表:
youqinglianjie
表:
yqlj
第六章程序设计
6.1程序说明
根据前边的需求分析和系统总体设计内容进行程序设计。
本系统是以Java语言为基础进行开发的。
主要是采用JSP技术+JavaBeans+SQL模式进行模块开发与实现的。
全部都以面向对象的方法进行设计和实现。
6.2具体模块划分
网站要实现用户的登录和注册、资料修改,好友关系管理,班级通讯录,图片上传,个人相册,班级相册好友动态,个人空间维护(个性签名、日志等),消息管理,公共留言板,退出登录等功能。
6.2.1用户注册
普通用户无需注册就可以浏览网站部份信息,如果用户要查看通讯录、或者相册一定要注册才可以访问这几个页面。
用户注册包括:
学号、姓名、密码、电话、性别等资料。
代码如下:
functionup(tt)
{
varpop=newPopup({contentType:
1,isReloadOnClose:
false,width:
300,height:
50});
pop.setContent("contentUrl","upload.jsp?
Result="+tt);
pop.setContent("title","文件上传");
pop.build();
pop.show();
}
functioncheck()
{
if(document.form1.xuehao.value==""){alert("请输入学号");document.form1.xuehao.focus();returnfalse;}if(document.form1.xingming.value==""){alert("请输入姓名");document.form1.xingming.focus();returnfalse;}if(document.form1.mima.value==""){alert("请输入密码");document.form1.mima.focus();returnfalse;}if(document.form1.dianhua.value==""){alert("请输入电话");document.form1.dianhua.focus();returnfalse;}
}
functiongow()
{
document.location.href="yonghuzhuce_add.jsp?
jihuabifffanhao="+document.form1.jihuabifffanhao.value;
}
添加用户注册:
6.2.2用户登录模块
用户登录包括:
登录名称,输入密码。
当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。
代码如下:
Stringsql="fromTAdminwhereuserName=?
anduserPw=?
";
Object[]con={userName,userPw};
ListadminList=adminDAO.getHibernateTemplate().find(sql,con);
if(adminList.size()==0)
{
result="no";
}
else
{
WebContextctx=WebContextFactory.get();
HttpSessionsession=ctx.getSession();
TAdminadmin=(TAdmin)adminList.get(0);
session.setAttribute("userType",0);
session.setAttribute("admin",admin);
result="yes";
}
6.2.3留言板
留言板是一个比较简单却是很直观的信息发布/存放系统,它提供了一个和浏览者交流、沟通的平台。
现在许多网站都有论坛,它可以收集浏览者提出的各种意见和建议。
在留言板系统中,管理员可以对用户留言进行管理。
其整个系统的功能如下。
整个系统要实现的功能可以将系统分为以下几个模块:
发表留言模块、查看留言模块、管理员修改、留言设置、留言管理模块。
系统的设计结构图如图所示。
代码如下:
<%
Stringcheng=request.getParameter("cheng");Stringxingbie=request.getParameter("xingbie");StringQQ=request.getParameter("QQ");Stringyouxiang=request.getParameter("youxiang");Stringdianhua=request.getParameter("dianhua");Stringneirong=request.getParameter("neirong");
Stringsql="insertintoliuyanba
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校友录 实现 设计