交友网课程设计报告

上传人:仙*** 文档编号:130975572 上传时间:2022-08-05 格式:DOC 页数:47 大小:379.51KB
收藏 版权申诉 举报 下载
交友网课程设计报告_第1页
第1页 / 共47页
交友网课程设计报告_第2页
第2页 / 共47页
交友网课程设计报告_第3页
第3页 / 共47页
资源描述:

《交友网课程设计报告》由会员分享,可在线阅读,更多相关《交友网课程设计报告(47页珍藏版)》请在装配图网上搜索。

1、中国地质大学小学期项目题目:在线快捷交友系统的设计与实现专业班级:学生姓名:学生学号:指导教师姓名: 2013年 7月 30日目 录一、系统目标1二、开发工具及技术简介2-11三、系统的需求分析11-13四、系统的数据库设计五、系统详细设计13-15六、系统实现15-45七、系统设计总结46八、参考文献46一、 系统目标 在现代社会里,网上交友作为一种网络服务形式得到了越来越多的人的认可,也已经成为近两年来广泛受到用户欢迎和商家青睐的网络服务项目。网络技术的发展为交友模式的革新带来了新的机遇,现代网络交友将结合现代网络技术、多媒体技术与传统沟通与交流学习的优势,改变传统的面对面的交友方式,开发

2、出基于B/S架构的交友平台系统。 该系统主要就是实现网络交友平台,完成在线聊天,留言,发送短消息,对相册的上传下载,对系统模块的问题,对用户的管理,对在线用户的搜索功能,从而能够达到在线交友,交流,学习的一个知识平台二、 开发工具及技术简介2.1 JSP技术 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的We

3、b应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.2 MySQL数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数

4、据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业

5、来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为 操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“组合。2.3 JDBC连接数据库技术一、 JDBC技术JDBC是Java Database Connectivity技术的简称,它是Java进行数据库编程的API,为开发人员提供了一套访问各种数据

6、库的标准编程接口。这个标准编程接口,使得基于多种后台数据库的程序开发变得非常容易实现,开发人员只要使用JDBC API开发一个数据库访问程序就可以了,没有必要为访问SQL Server 数据库写一个程序,为访问 Oracle 数据库专门写一个程序,或者为访问MySQL 数据库又写另一个程序。JDBC API主要由一些接口组成,这些接口定义了用于数据库访问的许多方法,主要实现了下图所示的功能:图1l 建立与数据库的连接 l 发送SQL语句至数据库执行 l 处理SQL执行结果其中,建立数据库连接是进行数据库编程的基础,在建立好连接的基础之上才能进行程序与数据库之间的信息传递,本文就着重介绍了使用J

7、DBC获取各种常见数据库的连接对象的方法。JDBC API提供了Java程序访问数据库的统一编程接口,使得访问不同的数据库编码可以是一致的,但对于特定的数据库,需要这些接口针对特定数据库的具体实现。数据库引擎开发商和第三方厂商就针对特定数据库引擎提供了这些接口的实现方法,这种实现称为 JDBC 驱动程序 (JDBC Driver )。开发数据库应用程序时,必须提供合适的JDBC Drvier。2.4 HTML技术全称:HyperText Mark-up Language ,译称:超文本标记语言。是一套独立于平台的格式定义 是由各种标记(Tag)组成的标记语言 。 用来描述网页文档中的各个组成部

8、分 。无需编译,浏览器可直接解释 。通常HTML的标记是以成对的方式出现的, 其格式如下: 标记名称 属性名称参数內容 /标记名称 。凡是在 和 /标记 之间的內容均 會受到這個标记的影响 。但是有少部份的标记,加上結尾標註反而 觉得累赘,因此在习惯上也有不加結尾标 记的。其格式如下: 2.5 Tomcat服务器 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请

9、求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.42。Tomcat 很受广大程序员的喜欢,因为它运

10、行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。2.6MyEclipse集成开发环境MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascri

11、pt, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。系统的需求分析3.1 可

12、行性分析传统的交友平台设计是应用系统方法分析和需求,确立解决他们的方法与步骤,并对交友结果作出评价的一种计划过程与操作程序。现代交友设计理论已经不拘泥于系统论的理论基础,不强调对交友活动的绝对控制,逐渐放弃呆板的设计模式,开始强调互动性设计的关系性、灵活性和实时性,从而更加有利于网友的相互交际的能力。jsp:在网页里能够用java代码这里使跟html不相同的实现数据库连接或者一些语句的判断使得页面更加简洁。JDBC:使服务器连接到数据库,可以对数据库进行查询、修改、显示。用这个功能来实现对用户的行为的记录。Tomacat服务器:访问人数不多的情况下使用,配置好环境变量。使调试和开发JSP页面变

13、得容易。Servlet:服务器端的接口,在进行数据库和网页之间的连接的时候要写入servlet程序,实质上就是一个JSP页面。可以用直接跳转输入xml对应servlet程序里面的mapping url 的名字进行直接跳转,而从jsp里面跳转到Servlet一般是用一个表单,然后action=“”内填其名字实现跳转。Ajax:当要访问数据库可是不想跳进Servlet页面而想在当前页面输出或这修改的动作时,用Ajax得到Xml是在HttpReuqest里的。然后跳进Servlet这里虽然跳进了servlet但是页面不变成servlet那个页面而是只执行里面的操作。 Ajax还可以传送数据去serv

14、let里面去随便多少个。 jQuery:使得代码更加简便,并且有很多方法,让页面很容易就变得生动活泼起来JavaScript:可以通过标签的属性来触发script里面的function函数。css样式使得网页变的生动活泼且动人,表格使得网页的格式平整对齐。表单让用户能输入数据并被服务器接受。链接可以直接实现跳转。转发:使用转发功能可以使的数据在跳转页面的时候进行传送。而且可以绑定多个数据。重定向:response.setRedirect(“uri”); 这是把当前页面转到另外一个页面,因为在servlet里面使根本没办法用类似标记进行直接跳转的。但是重定向到的页面带的数据只能用到下一个页面,到

15、下下个页面就没办法得到数据了。Cookies:使客户端管理用户状态。每次访问页面,都会有属于当前访问者的cookie id。而且会保存一段时间,浏览器会将cookie以文件的形式保存在硬盘上,超过指定的时间后,删除该文件 seconds0: 默认值,浏览器会将cookie保存在内存里面,只有关闭浏览器的时候,才会删除。second=0:立即删除cookie,所以用完要直接删除。Session:在登陆界面时候,一旦登陆成功之后,在servlet里面创建一个属于用户的session。之后在整个交友界面的过程中,session中绑定的数据一直可以用。在退出登陆后session要删除。设置中文状态:r

16、equest.setCharacterEncoding(“utf-8”); Response.setContentType(“utf-8”);3.2 功能图在线交友系统统网友注册模块网友个人管理模块网站会员管理模块网友注册信息网友登录验证个人资料管理相片管理交友请求管理交友回复管理留言管理注册会员管理三、 系统的数据库设计4.1 数据库结构分析根据系统功能设计要求和模块划分,本站的数据库主要存储用户注册信息、留言信息、好友信息、照片信息、管理员信息、申请好友者信息、交友请求回复信息等。实现的表为:1.create table friend_user(id bigint primary key

17、auto_increment,username varchar(20) unique,password varchar(10),name varchar(20),age int(3),gender varchar(2),tel varchar(20);2. create table friend_pic(username varchar(20),path1 varchar(100);3. create table persondetail(username varchar(20),height double,study varchar(14),marry varchar(10),salary

18、int(5),province varchar(6),city varchar(6),house varchar(6),vehicle varchar(10),innerwords varchar(100);4. create table sayhello(username varchar(20),hello varchar(50),attention varchar(20);5. create table choose(username varchar(20),height double,study varchar(14),marriage varchar(10),province varc

19、har(6),city varchar(6);4.2 数据表的设计根据需求分析中对系统功能的各方面做出的定义,系统设计了相应的数据库表。进行开发时,在MySQL数据库中应该严格按照此结构进行表的定义,而且一定要注意在设计的过程中,对各字段大小所做的限制。1、 用户简单注册信息表。编号字段名称数据类型说明1user_namevarchar(18)用户名2passwordVarchar(18)用户密码2、用户详细注册表、编号字段名称数据类型说明1lar_idbigint(19)自动编号,主键2user_idbigint(19)用户编号3namevarchar(50)用户姓名4sexvarchar(

20、50)用户性别5agevarchar(50)用户年龄6homevarchar(50)用户籍贯7educationvarchar(50)用户学历8netnamevarchar(50)用户网名9homepagevarchar(50)个人主页3、发信信息表编号字段标识数据类型说明1idBigint(19)消息编码,主键2netnameVarchar(10)网名3wordVarchar(255)发信内容4datetimestamp发信时间5for_idbigint发信用户编号6user_idbigint用户编号4、 好友信息列表friend。编号字段标识数据类型说明1idBigint(19)好友编码,

21、主键2netnameVarchar(50)网名3for_idBigint(19)好友编号4user_idBigint(19)用户编号5sexVarchar(50)好友性别6homeVarchar(50)好友籍贯5、 照片信息列表friendimg。编号字段标识数据类型说明1fidBigint(19)文件编号,主键2idBigint(19)编号3fimgaeblob存储图片五、 系统详细设计注册模块1主要填写一写用户名密码等等基本信息,每一项信息都有限制,用户名与以前别人注册过的相同,密码必须6位数以上。电话必须11位数,验证码要与图片里的数字一致,防止有木马一直注册攻击数据库。这些信息会达到数

22、据库,与第一个表相连,并且数据加入到第一个表中。注册模块2主要填写用户的详细信息,没项必须选择,不选择的话没法让其他的用户去查询你并且认识你。与第三个表相连,并且数据加入到第三个表中。注册模块3填写内心独白,与第三个表的innerwords相连,并且数据加入到第三个表中。注册模块4,填写择友条件。与第五个表相连,并且数据加入到第二个表中。注册成功,返回到登陆界面。登陆界面,可以实现判断用户名是否存在以及用户名和密码是否和数据库里面的匹配。主页面,显示总共的注册过的用户的信息,并且有详细信息的链接点入,有收信箱和查看我关注的人的功能,还有退出主页面收件箱,有人和你打招呼那么点击收件箱的时候打招呼

23、会显示出来,不点击则不显示我关注的人,里面显示用户曾经点过加关注的人的信息,后面仍然附有详细信息链接。高级查询,可以利用下拉列表分别用按照性别查找,按照买房查找,按照年龄查找等等等。用户详细信息:里面利用表格打印出用户的详细信息,比如内心独白,年龄,买房,婚姻等等。并且有加关注,打招呼,和上传图片等功能。当然,还附有一个判断,如果是点入了本人的详细信息,在每一项详细信息的属性下还可以修改。上传照片六、系统实现1、 用户注册页面实现代码:function checkUser()var username=document.getElementById(username);var user_msg=

24、document.getElementById(user_msg);if(username.value=)user_msg.innerHTML=用户名不能为空;elseuser_msg.innerHTML=;function check_username2()$.post(check_username,username:$(#username).val(),function(data)$(#username_msg).html(data););function checkName()var name=document.getElementById(name);var name_msg=docu

25、ment.getElementById(name_msg);var reg=/u4e00-u9fa5*$/;var rs=reg.test(name.value);if(name.value=)name_msg.innerHTML=真实姓名不能为空;elseif(!rs)name_msg.innerHTML=姓名必须为中文;elsename_msg.innerHTML=;function checkPwd()var pwd=document.getElementById(pwd);var pwd_msg=document.getElementById(pwd_msg);var reg=/a-z

26、*A-Z*d*$/;var rs=reg.test(pwd.value);if(pwd.value=)pwd_msg.innerHTML=密码不能为空;elseif(!rs|pwd.value.length6)pwd_msg.innerHTML=必须由六位以上字母和数字组成;elsepwd_msg.innerHTML=;function checkConPwd()var o1=document.getElementById(pwd);var o2=document.getElementById(conPwd);var conPwd_msg=document.getElementById(con

27、Pwd_msg);if(o2.value!=o1.value)conPwd_msg.innerHTML=确认密码与密码不同,请重新输入;elseconPwd_msg.innerHTML=;function checkTel()var obj=document.getElementById(tel);var tel_msg=document.getElementById(tel_msg);var reg1=/d11$/;var reg2=/d3-d8$/;var b=(reg1.test(obj.value)|reg2.test(obj.value);if(!b)tel_msg.innerHTM

28、L=电话格式输入错误;elsetel_msg.innerHTML=;function getXmlHttpRequest()var xhr=null;if(typeof XMLHttpRequest!= undefined)xhr=new XMLHttpRequest();elsexhr=new ActiveXObject(MicrosoftXMLHttp);return xhr;function checkCheckCode()var msg=document.getElementById(code_msg);var code=document.getElementById(checkCod

29、e);var xhr=getXmlHttpRequest();xhr.open(post,checkyzm,true);xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded);xhr.onreadystatechange=function()if(xhr.readyState=4)if(xhr.status=200)var txt=xhr.responseText;msg.innerHTML=txt;elsemsg.innerHTML=系统错误,请稍后重试;elsemsg.innerHTML=正在验证.;xhr.

30、send(checkCode=+code.value);2、 用户登录登录用户名:密码还不是我们的会员?赶快加入3、 主页面实现代码:的首页% String big = ;for(int i=0;i收件箱礼物箱已有用户ID用户名年龄性别操作%List members=(List)request.getAttribute(members);int count=0;for(Member m:members)count+;String str;if(count%2=0)%a style=font-size:12px; href=userDetail?username=a style=font-siz

31、e:12px;color:#6B8E23 href=userDetail?username=我关注的人高级查询4、实现代码:的个人信息 上传图片 预览图片 %Connection conn=null;request.setCharacterEncoding(utf-8);conn = DBUtils_Mysql.getConnection();String sql=select * from friend_pic where username=+username1+;PreparedStatement ps=conn.prepareStatement(sql);ResultSet rs=ps.

32、executeQuery();List pics=new ArrayList();while(rs.next()Pic pic=new Pic();pic.setUsername(rs.getString(1);pic.setPath1(rs.getString(2);pics.add(pic); for(Pic p:pics) p.getPath1(); String str=new String6; str=p.getPath1().split(); % img height=300px width=200px src=upload/ %List members=(List)request.getAttribute(members);% 详细资料: 修改 姓名:电话: 身高:学历: 婚姻状况:薪水: 省份:城市: 居住情况:购车情况: 内心独白: 修改 择友条件: 修改 身高:学历: 省份:城市: 婚姻状况: 5、高级查询性别:男女身高:-请选择-160cm以上170cm以上180cm以上190cm以上学历:-请选择-初中以下高中本科及专科研究生及以上所在地区:-请选择-山东广东辽宁黑龙江-请选择-购房情况:-请选择-买房租房购车情况-请选择-两轮的四轮的6、实现代码:ID用户名td

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!