1、1数字电子技术课程设计 Web 技术及应用课程设计导读:就爱阅读网友为您分享以下“Web 技术及应用课程设计”的资讯,希望对您有所帮助,感谢您对 的支持!Web 技术及应用期末课程设计报告题 目班 级: 网络安全与执法班 学 号: 201483030127/111 姓 名: 刘 洋 郭建建 成 绩: 完成时间: 2017 年 6 月2目 录第一章 引言 . 11.1 开发背景 .11.2 开发现状分析. .21.2 需求分析 .2第二章 系统设计 . 432.1 功能设计 . 42.2 数据库设计 . 52.3 流程(或算法)设计 . 6第三章 系统实现 . 63.1 交友系统 . 6第四章
2、设计总结 4. 10参考文献 . 10附 录(核心代码). 11在线交友系统第一章 引言近年来, 随着移动互联网的发展,人们的交流方式变得更加的开放。上网不在局限于电脑,手机的普及,让通信从电脑上迅速转移到手机上已是不争的事实。信息化是当今世界经济和社会发展的大趋势,以网络和多媒体为核心的信息技术已经成为拓展人类能力的创造性工具。在网上不在局限于时间地点,那里有我们最新观点,最具创意的 Idea 5,最新的消息等。当然还有我们最美好的回忆。在大学期间,我们每个人都有很多留恋的记忆。有游玩的风景,有采风的快乐。有寂寞无聊的时间,还有单独宅的时光。学习、成长、伴随我们走过这风风雨雨的三年。真的是风
3、霜雨雪踏歌行。我们用各种形式来记住青春的童话。在快要告别大学的时光里,当我们回忆其这些,既是一笔财富,也是一份美好而简单的记忆。出于这个理由,我设计开发了这个交友平台。来分享你我他/她的喜怒忧伤。随着互联网,微博,博客等的兴起,交流变得随时随地,更加的人性化和自由。本次设计为简单的一个社交平台,注册的用户可以分享自己的照片,Flash 视频,心情,交友等。可以查找好友,添加好友, 。好友也能同步的看到你的心情,查看你的个人资料。当然也可以进行电话交流。都为交友提供一个很好的平台。这就交友平台开发的目的-交流分享,共同成长。这也是“网络交友”的特点所在。1.1 开发背景6为了留一份美好回忆,为了
4、更大范围的交友,不受时间和空间的限制。为了让我们共同成长。让我们在大学的校园中成长更加自由,分享我们成长的经历,交流进步。1.2 开发现状分析网络交友平台是一个针对学生开发的交友的平台系统。在校园中,我们都渴望成长,渴望交流、渴望进步、渴望被关注。为了在这个纯洁的环境中实现更安静的交流,让我们的生活变得更加的丰富多彩。交流变得更加有意义。这次的设计通过好友的添加来实现组建交友的圈子。这样就可以针对特定的人群进行交流。实现情感,生活,学习等的交流,学习和指导。并且,交友平台功能丰富,界面非常的简洁大方,操作简单。容易上手。1.3 需求分析(一)可行性分析1. 技术可行性:交友平台的开发采用成熟的
5、 JSP 技术,轻量级服务器 Tomcat 。利用 MySql 5.5 作为交友平台的数7据库,是一个支持多用户的新型数据库,适应于中小型规模的数据量需求。 因此,交友平台的设计与开发在技术上和配备上的条件都是满足的。所以,它在技术上是可行的。2. 经济可行性:由于设计的要求比较底,所以单独的服务器来运行这个系统可以满足。又考虑到所有计算机硬件软件都是存在出错可能的,因此整个系统应该考虑使用两台服务器热备份技术。使用两台服务器同时运行,一个为主一个作备份,这样可以避免服务器故障对整个系统的影响。另外,现在计算机的价格比较便宜,因此经济上市允许的。3. 操作可行性:交友平台设计界面简洁大方,操作
6、流程方便。用户很轻松都能上手。(二)性能分析1. 系统性能要求 实用性:为方便交友平台,根据用户实际的需求,设计出功能齐全、操作简单、实用性强、充分满足用户的需求。8 操作简单:交友平台适应于不同程度的用户,同时系统界面简约大方,不会出现审美疲劳,因此对系统的操作要求是尽可能简单易行。 安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入 Internet ,无论您身在何处,只要您可以访问Internet 都可以使用交友平台。 适应性:交友平台应用广泛,可以在 Windows 、Linux 系统上安装使用。用户可以根据自己的实际情况自行组合,是系
7、统在不同的操作系统下都能得以应用。 代码可读性好:编写代码的要求是简洁,易懂。 2. 主要功能要求 主要功能:基本的用户注册、登陆、修改个人资料。文件的上传下载,浏览上传文件、查找好友、浏览好友资料、留言、关注等 安全性与保密要求:客户端要求提供身份验证,并且对9数据库信息采用加密,只允许通过身份验证的用户使用交友平台。 意外情况:要求在发生意外(如掉电)的情况下,保证不丢失数据。 3. 交友平台的数据流图图 1.1:交友平台数据流图设计交友平台中采用成熟的 MVC 框架,前台用户对数据进行处理,包括登陆注册,搜索,下载等。服务器对请求行进动态处理,与后台数据库进行交互处理。处理的结果返还给用
8、户。管理员实现对其管理,维护和更新。其详细功能说明流程图如上面图 1.1 所示。(三)需求分析 1设计目标设计交友平台,功能上实现用户的交友功能,用户图片、Flash 视频的上传和下载。让用户分享自己的照片,视频等信息。添加对方为好友,给对方留言,搜索等目标。实用在不同的操作平台运行,要求系统简洁大方,操作方便。102开发意图交友更便捷,让用户分享网络互联带来的终极体验,让交友变得更加的丰富。同时也是分享成长的大舞台。3功能需求分析交友平台主要完成以下功能: 基本功能:提供用户的注册,登陆、修改个人信息、添加好友 用户管理:对用户账号的管理。 数据库管理:密码管理、数据管理、数据备份等。 操作
9、管理:整个系统要求操作简捷,方便用户使用。第二章 系统设计2.1 功能设计交友系统实现所有的用户注册、登陆和注销。 非会员注册 会员登录11 查看和修改个人资料 上传图片 浏览会员信息 登录注销普通会员对于功能的用例图如图 2.1 所示图 2.1 普通会员对于功能用例图2.2 数据库设计数据库设计是系统设计中非常重要的一个环节,数据是设计的基础,直接决定系统的失败。如果数据库设计不合理、不完善,将在系统开发中,甚至到后期的维护时,引起严重的问题。根据系统需求,创建了 2 张表,如下所示: 1、成员表(user):用于存放注册用户信息。 2、照片表(pic):用于存放上传照片信息。图 2.212
10、图 2.3表 2.1 用户表(friend_user)2.3 流程(或算法)设计图 2.4 系统流程图第三章 系统实现3.1 交友系统的实现1. 安装 apache-tomcat-6.0.35 ,myeclipse 以及 MySql 全部按默认路径安装图3.113图3.2图 3.3使用 MySql 创建数据库及相关列表语句如下:create database friend defaultcharset utf8;use friend;create table friend_user(id bigint primary key auto_increment,username varchar(20
11、) unique,14password varchar(10),name varchar(20),age int(3),gender tinyint(1),phone varchar(20) );create table friend_pic(id bigint primary key auto_increment,picName varchar(100),userId bigint);drop table friend_user;drop table friend_pic;152. 新建 web project 项目格式如下图 3.43. 打开 MySql 在数据库中建表图 3.54. 进行
12、测试,在 web Browser 下输入测试登陆网址http:/localhost:8080/friends/login.jsp图 3.6注册用户16图 3.7用户名密码正确则会进入系统 不正确会出现错误图 3.8登陆成功 进入系统图 3.9查看交友信息图3.10图 3.1117至此,交友系统完全实现第四章 设计总结本系统不仅实现了要求的主要的功能,还实现了页面返回和退出系统的功能,页面返回只是简单的页面切换,而退出功能则是单独使用了一个 servlet 来实现 session 的Invalidate()方法。除此之外,为实现图片上传时绑定用户id, 使用了 form 的隐藏域,但由于此时 f
13、orm 的 enctype 属性发生了改变,并不能通过键值对的方式获得传过来的参数,而是通过 FileItem 对象判断是否是普通的表单域,从而使用 getString()方法来获得隐藏域中 value 的值。在实验过程中数据库的配置给了自己一组很大的压力,老是配置不成功,在经过让同学的帮忙下成功调试成功,测试完成。刘洋:50%;郭建建:50%参考文献1、JavaWeb 应用开发, 蒋伟祥, 清华大学出版设,2009182、JavaScript 应用开发技术详解, 王萍萍,科学出版社,20083、Servlet/JSP 深入详解, 孙鑫,电子工业出版社,20084、Tomcat 与 Java
14、Web 开发技术详解,封超、晁阳,清华大学出版社,20085、DreamweaverMX2004 网页设计标准教材,王军,电子工业出版社,20076、软件工程与项目管理 ,何礼富, 国防科技大学出版社 2009.5.17、SQL Server 数据库基础与实训教程 ,吕凤顺,清华大学出版社 2006.9.1附 录(核心代码)public class User private int id ;19private String username ;private String password ;private String name ;private int age ;private int g
15、ender ;private String phone ;public int getId() return id ;public void setId(int id) this . id = id;20public String getUsername() return username ;public void setUsername(String username) this . username = username;public String getPassword() return password ;public void setPassword(String password)
16、 this . password = password;public String getName() return name ;21public void setName(String name) this . name = name;public int getAge() return age ;public void setAge(int age) this . age = age;public int getGender() return gender ;public void setGender(int gender) this . gender = 22gender;import
17、java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties;public class DBUtil private static String URL = private static String USERNAME = private static Strin
18、g PASSWORD = static /获取连接 try Class.forName( Properties pro = new Properties(); pro.load(DBUtil.class.getResourceAsStream( URL = pro.getProperty( USERNAME = pro.getProperty( PASSWORD = pro.getProperty( public String getPhone() 23 public void setPhone(String phone) this . phone = phone; return phone
19、; catch(Exception e) e.printStackTrace();public static Connection getConnection() throws SQLException public static Statement getStatement(Connection conn) throws SQLException public static PreparedStatement getPreparedStatement( /关闭连接 public static void close(Connection conn,Statement stmt, public
20、static void close(Connection conn,PreparedStatement pstmt, ResultSet rs) throws SQLException ResultSet rs) throws SQLException Connection conn,String sql) throws SQLException Statement stmt = null; stmt = conn.createStatement(); return stmt; Connection conn = null; conn = DriverManager.getConnection
21、(URL,USERNAME,PASSWORD); return conn; PreparedStatement pstmt = conn.prepareStatement(sql); return pstmt; if(rs!=null) if(stmt!=null) if(conn!=null) conn.close(); stmt.close(); rs.close(); if(rs!=null)24rs.close(); if(pstmt!=null) pstmt.close(); if(conn!=null) conn.close(); 百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网,您的在线图书馆百度搜索“就爱阅读”,专业资料、生活学习,尽在就爱阅读网 ,您的在线图书馆!