交友网课程设计报告_第1页
交友网课程设计报告_第2页
交友网课程设计报告_第3页
交友网课程设计报告_第4页
交友网课程设计报告_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国地质大学小学期中国地质大学小学期 项目题目 在线快捷交友系统的设计与实现 专业班级 学生姓名 学生学号 指导教师姓名 2013 年 7 月 30 日 1 目 录 一 系统目标 1 二 开发工具及技术简介 2 11 三 系统的需求分析 11 13 四 系统的数据库设计 五 系统详细设计 13 15 六 系统实现 15 45 七 系统设计总结 46 八 参考文献 46 2 1 系统目标 在现代社会里 网上交友作为一种网络服务形式得到了越来越多的 人的认可 也已经成为近两年来广泛受到用户欢迎和商家青睐的网络 服务项目 网络技术的发展为交友模式的革新带来了新的机遇 现代 网络交友将结合现代网络技术 多媒体技术与传统沟通与交流学习的 优势 改变传统的面对面的交友方式 开发出基于 B S 架构的交友平 台系统 该系统主要就是实现网络交友平台 完成在线聊天 留言 发送短 消息 对相册的上传下载 对系统模块的问题 对用户的管理 对在 线用户的搜索功能 从而能够达到在线交友 交流 学习的一个知识 平台 2 开发工具及技术简介 2 1 JSP 技术 JSP Java Server Pages 是由 Sun Microsystems 公司倡导 许多 公司参与一起建立的一种动态网页技术标准 JSP 技术有点类似 ASP 技 术 它是在传统的网页 HTML 文件 htm html 中插入 Java 程序段 Scriptlet 和 JSP 标记 tag 从而形成 JSP 文件 jsp 用 JSP 3 开发的 Web 应用是跨平台的 既能在 Linux 下运行 也能在其他操作 系统上运行 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成 服务器在页面 被客户端请求以后对这些 Java 代码进行处理 然后将生成的 HTML 页 面返回给客户端的浏览器 Java Servlet 是 JSP 的技术基础 而且大 型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成 JSP 具备了 Java 技术的简单易用 完全的面向对象 具有平台无关性 且安全可靠 主要面向因特网的所有特点 2 2 MySQL 数据库 MySQL 是一个关系型数据库管理系统 由瑞典 MySQL AB 公司开发 目前属于 Oracle 公司 MySQL 是一种关联数据库管理系统 关联数据 库将数据保存在不同的表中 而不是将所有数据放在一个大仓库内 这样就增加了速度并提高了灵活性 MySQL 的 SQL 语言是用于访问数据 库的最常用标准化语言 MySQL 软件采用了双授权政策 本词条 授权 政策 它分为社区版和商业版 由于其体积小 速度快 总体拥 有成本低 尤其是开放源码这一特点 一般中小型网站的开发都选择 MySQL 作为网站数据库 由于其社区版的性能卓越 搭配 PHP 和 Apache 可组成良好的开发环境 与其他的大型数据库例如 Oracle DB2 SQL Server 等相比 MySQL 自 有它的不足之处 但是这丝毫也没有减少它受欢迎的程度 对于一般 的个人使用者和中小型企业来说 MySQL 提供的功能已经绰绰有余 而 4 且由于 MySQL 是开放源码软件 因此可以大大降低总体拥有成本 Linux 作为 操作系统 Apache 和 Nginx 作为 Web 服务器 MySQL 作为 数据库 PHP Perl Python 作为服务器端脚本解释器 由于这四个软件 都是免费或开放源码软件 FLOSS 因此使用这种方式不用花一分钱 除开人工成本 就可以建立起一个稳定 免费的网站系统 被业界 称为 LAMP 组合 2 3 JDBC 连接数据库技术 一 JDBC 技术 JDBC 是 Java Database Connectivity 技术的简称 它是 Java 进行数 据库编程的 API 为开发人员提供了一套访问各种数据库的标准编程接 口 这个标准编程接口 使得基于多种后台数据库的程序开发变得非 常容易实现 开发人员只要使用 JDBC API 开发一个数据库访问程序就 可以了 没有必要为访问 SQL Server 数据库写一个程序 为访问 Ora cle 数据库专门写一个程序 或者为访问 MySQL 数据库又写另一个程 序 JDBC API 主要由一些接口组成 这些接口定义了用于数据库访问的许 多方法 主要实现了下图所示的功能 图 1 5 建立与数据库的连接 发送 SQL 语句至数据库执行 处理 SQL 执 行结果 其中 建立数据库连接是进行数据库编程的基础 在建立好连接的基 础之上才能进行程序与数据库之间的信息传递 本文就着重介绍了使 用 JDBC 获取各种常见数据库的连接对象的方法 JDBC API 提供了 Java 程序访问数据库的统一编程接口 使得访问不同 的数据库编码可以是一致的 但对于特定的数据库 需要这些接口针 对特定数据库的具体实现 数据库引擎开发商和第三方厂商就针对特 定数据库引擎提供了这些接口的实现方法 这种实现称为 JDBC 驱动 程序 JDBC Driver 开发数据库应用程序时 必须提供合适的 JD BC Drvier 2 4 HTML 技术 全称 HyperText Mark up Language 译称 超文本标记语言 是一 套独立于平台的格式定义 是由各种标记 Tag 组成的标记语言 用来描述网页文档中的各个组成部分 无需编译 浏览器可直接解释 通常 HTML 的标记是以成对的方式出现的 其格式如下 标记名称 属性名称 参数 內容 标记名称 凡是在 和 标记 之间的內容均 會受到這個标记的影响 但是有少部份的标记 加上結尾標註反而 觉得累赘 因此在习惯上也有不加結尾标 记的 其格式如下 6 2 5 Tomcat 服务器 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器 属于 轻量级应用服务器 在中小型系统和并发访问用户不是很多的场合下 被普遍使用 是开发和调试 JSP 程序的首选 对于一个初学者来说 可以这样认为 当在一台机器上配置好 Apache 服务器 可利用它响应 对 HTML 页面的访问请求 实际上 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 很受广大程序员的喜欢 因为它运行时占用的系统资源小 扩 展性好 支持负载平衡与邮件服务等开发应用系统常用的功能 而且 它还在不断的改进和完善中 任何一个感兴趣的程序员都可以更改它 或在其中加入新的功能 2 6MyEclipse 集成开发环境 7 MyEclipse 企业级工作平台 MyEclipse Enterprise Workbench 简称 MyEclipse 是对 Eclipse IDE 的扩展 利用它我们可以在数据 库和 J2EE 的开发 发布 以及应用程序服务器的整合方面极大的提高 工作效率 它是功能丰富的 J2EE 集成开发环境 包括了完备的编码 调试 测试和发布功能 完整支持 HTML Struts JSF CSS Javascr ipt SQL Hibernate 在结构上 MyEclipse 的特征可以被分为 7 类 1 J2EE 模型 2 WEB 开发工具 3 EJB 开发工具 4 应用程序服务器的连接器 5 J2EE 项目部署服务 6 数据库服务 7 MyEclipse 整合帮助 对于以上每一种功能上的类别 在 Eclipse 中都有相应的功能部 件 并通过一系列的插件来实现它们 MyEclipse 结构上的这种模块化 可以让我们在不影响其他模块的情况下 对任一模块进行单独的扩 展和升级 简单而言 MyEclipse 是 Eclipse 的插件 也是一款功能强大的 J 2EE 集成开发环境 支持代码编写 配置 测试以及除错 系统的需求分析 3 1 可行性分析 8 传统的交友平台设计是应用系统方法分析和需求 确立解决他们 的方法与步骤 并对交友结果作出评价的一种计划过程与操作程序 现代交友设计理论已经不拘泥于系统论的理论基础 不强调对交友活 动的绝对控制 逐渐放弃呆板的设计模式 开始强调互动性设计的关 系性 灵活性和实时性 从而更加有利于网友的相互交际的能力 jsp 在网页里能够用 java 代码这里使跟 html 不相同的实现数据库 连接或者一些语句的判断使得页面更加简洁 JDBC 使服务器连接到数据库 可以对数据库进行查询 修改 显 示 用这个功能来实现对用户的行为的记录 Tomacat 服务器 访问人数不多的情况下使用 配置好环境变量 使 调试和开发 JSP 页面变得容易 Servlet 服务器端的接口 在进行数据库和网页之间的连接的时候 要写入 servlet 程序 实质上就是一个 JSP 页面 可以用直接跳转输 入 xml 对应 servlet 程序里面的 mapping url 的名字进行直接跳转 而从 jsp 里面跳转到 Servlet 一般是用一个表单 然后 action 内 填其名字实现跳转 Ajax 当要访问数据库可是不想跳进 Servlet 页面而想在当前页面输 出或这修改的动作时 用 Ajax 得到 Xml 是在 HttpReuqest 里的 然后 跳进 Servlet 这里虽然跳进了 servlet 但是页面不变成 servlet 那个 页面而是只执行里面的操作 Ajax 还可以传送数据去 servlet 里面去随便多少个 9 jQuery 使得代码更加简便 并且有很多方法 让页面很容易就变 得生动活泼起来 JavaScript 可以通过标签的属性来触发 script 里面的 function 函数 css 样式使得网页变的生动活泼且动人 表格使得网页的格式平整对齐 表单让用户能输入数据并被服务器接受 链接可以直接实现跳转 转发 使用转发功能可以使的数据在跳转页面的时候进行传送 而且可以 绑定多个数据 重定向 response setRedirect uri 这是把当前页面转到另外一个 页面 因为在 servlet 里面使根本没办法用类似标记进行直接跳 转的 但是重定向到的页面带的数据只能用到下一个页面 到下下个页面 就没办法得到数据了 Cookies 使客户端管理用户状态 每次访问页面 都会有属于当前访问 者的 cookie id 而且会保存一段时间 浏览器会将 cookie 以文件的形式 保存在硬盘上 超过指定的时间后 删除该文件 seconds 0 默认值 浏览器会将 cookie 保存在内存里面 只有关闭浏览器的时候 才会删除 second 0 立即删除 cookie 所以用完要直接删除 Session 在登陆界面时候 一旦登陆成功之后 在 servlet 里面创建一 个属于用户的 session 之后在整个交友界面的过程中 session 中绑定的 数据一直可以用 在退出登陆后 session 要删除 设置中文状态 request setCharacterEncoding utf 8 Response setContentType utf 8 10 3 2 功能图 在线交友系 统统 网友注册模块 网友个人管理模块 网站会员管理模块 网友注册信息 网友登录验证 个人资料管理 相片管理 交友请求管理 交友回复管理 留言管理 注册会员管理 3 系统的数据库设计 4 1 数据库结构分析 根据系统功能设计要求和模块划分 本站的数据库主要存储用户注册信息 留言信息 好友信息 照片信息 管理员信息 申请好友者信息 交友请求 回复信息等 实现的表为 1 create table friend user id bigint primary key auto increment username varchar 20 unique password varchar 10 11 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 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 12 study varchar 14 marriage varchar 10 province varchar 6 city varchar 6 4 2 数据表的设计 根据需求分析中对系统功能的各方面做出的定义 系统设计了相应的数据 库表 进行开发时 在 MySQL 数据库中应该严格按照此结构进行表的定义 而 且一定要注意在设计的过程中 对各字段大小所做的限制 1 用户简单注册信息表 编号字段名称数据类型说明 1user namevarchar 18 用户名 2passwordVarchar 18 用户密码 2 用户详细注册表 编号字段名称数据类型说明 1lar idbigint 19 自动编号 主键 2user idbigint 19 用户编号 3namevarchar 50 用户姓名 4sexvarchar 50 用户性别 5agevarchar 50 用户年龄 6homevarchar 50 用户籍贯 7educationvarchar 50 用户学历 8netnamevarchar 50 用户网名 9homepagevarchar 50 个人主页 13 3 发信信息表 编号字段标识数据类型说明 1idBigint 19 消息编码 主键 2netnameVarchar 10 网名 3wordVarchar 255 发信内容 4datetimestamp 发信时间 5for idbigint 发信用户编号 6user idbigint 用户编号 4 好友信息列表 friend 编号字段标识数据类型说明 1idBigint 19 好友编码 主键 2netnameVarchar 50 网名 3for idBigint 19 好友编号 4user idBigint 19 用户编号 5sexVarchar 50 好友性别 6homeVarchar 50 好友籍贯 5 照片信息列表 friendimg 编号字段标识数据类型说明 1fidBigint 19 文件编号 主键 2idBigint 19 编号 3fimgaeblob 存储图片 五 系统详细设计 注册模块 1 主要填写一写用户名密码等等基本信息 每一项信息都有限制 用 户名与以前别人注册过的相同 密码必须 6 位数以上 电话必须 11 位数 验 14 证码要与图片里的数字一致 防止有木马一直注册攻击数据库 这些信息会达 到数据库 与第一个表相连 并且数据加入到第一个表中 注册模块 2 主要填写用户的详细信息 没项必须选择 不选择的话没法让其他 的用户去查询你并且认识你 与第三个表相连 并且数据加入到第三个表中 注册模块 3 填写内心独白 与第三个表的 innerwords 相连 并且数据加入到 第三个表中 注册模块 4 填写择友条件 与第五个表相连 并且数据加入到第二个表中 注册成功 返回到登陆界面 登陆界面 可以实现判断用户名是否存在以及用户名和密码是否和数据库里面 的匹配 主页面 显示总共的注册过的用户的信息 并且有详细信息的链接点入 有收 信箱和查看我关注的人的功能 还有退出主页面 收件箱 有人和你打招呼那么点击收件箱的时候打招呼会显示出来 不点击则 不显示 我关注的人 里面显示用户曾经点过加关注的人的信息 后面仍然附有详细信 息链接 高级查询 可以利用下拉列表分别用按照性别查找 按照买房查找 按照年龄 查找等等等 用户详细信息 里面利用表格打印出用户的详细信息 比如内心独白 年龄 买房 婚姻等等 并且有加关注 打招呼 和上传图片等功能 当然 还附有 15 一个判断 如果是点入了本人的详细信息 在每一项详细信息的属性下还可以 修改 上传照片 六 系统实现 1 用户注册页面 16 17 实现代码 function checkUser var username document getElementById username var user msg document getElementById user msg if username value user msg innerHTML 用户名不能为空 else user msg innerHTML function check username2 18 post check username username username val function data username msg html data function checkName var name document getElementById name var name msg document getElementById name msg var reg u4e00 u9fa5 var rs reg test name value if name value name msg innerHTML 真实姓名不能为空 else if rs name msg innerHTML 姓名必须为中文 else name msg innerHTML function checkPwd var pwd document getElementById pwd 19 var pwd msg document getElementById pwd msg var reg a z A Z d var rs reg test pwd value if pwd value pwd msg innerHTML 密码不能为空 else if rs pwd value length 6 pwd msg innerHTML 必须由六位以上字母和数字组成 else pwd msg innerHTML function checkConPwd var o1 document getElementById pwd var o2 document getElementById conPwd var conPwd msg document getElementById conPwd msg if o2 value o1 value conPwd msg innerHTML 确 认密码与密码不同 请重新输入 else 20 conPwd msg innerHTML function checkTel var obj document getElementById tel var tel msg document getElementById tel msg var reg1 d 11 var reg2 d 3 d 8 var b reg1 test obj value reg2 test obj value if b tel msg innerHTML 电话格式输入错误 else tel msg innerHTML function getXmlHttpRequest var xhr null if typeof XMLHttpRequest undefined xhr new XMLHttpRequest else xhr new ActiveXObject MicrosoftXMLHttp return xhr 21 function checkCheckCode var msg document getElementById code msg var code document getElementById checkCode 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 else msg innerHTML 系统错误 请稍后重试 else msg innerHTML 正在验证 xhr send checkCode code value 22 2 用户登录 登录 用户名 密码 23 还不是我们的会员 赶快加入 3 主页面 24 实现代码 的首页 String big for int i 0 i 25 收件 箱 礼物箱 已有用户 ID用户名年龄 性别操作 26 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 size 12px color 6B8E23 href userDetail username 28 我关注的人 高级 查询 4 29 30 实现代码 的个人信息 上传图片 31 预览图片 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 executeQuery List pics new ArrayList while rs next 32 Pic pic new Pic pic setUserna

温馨提示

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

评论

0/150

提交评论