《网络应用开发课程设计报告(共16页).docx》由会员分享,可在线阅读,更多相关《网络应用开发课程设计报告(共16页).docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机科学与技术学院课程设计成绩单课程名称: 网络应用开发 指导教师: 胡静 姓名杨师性别女学号1班级网络工程1303班综合成绩成绩等级程序运行情况(占总成绩20%)能正确运行 基本能正确运行 能运行但结果不完善(20分) (15分) (10分)程序功能的完善程度(占总成绩10%)完善 基本完善 不完善(10分) (8分) (5分)程序结构的合理性(占总成绩10%)合理 基本合理 不太合理(10分) (8分) (5分)对问题的答辩情况(占总成绩40%)概念正确有创新 能正确回答所有问题 基本能正确回答(40分) (35分) (30分)部分问题回答概念不清晰(20分)学
2、生的工作态度与独立工作能力(占总成绩10%)工作态度认真能独立完成任务 工作态度认真但独立性较差(10分) (8分)工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)符合规范 基本符合规范 规范性较差(10分) (8分) (5分)A:90分100分; A-:85分89分; B+:8284分; B:7881分; B-:75分77分; C+:72分74分; C:68分71分; C-:6467分; D:6063分; F:0分59分。 武汉科技大学计算机科学与技术学院制表 计算机科学与技术学院 课 程 设 计 报 告课程名称: 网络应用开发 专 业: 网络工程 班 级: 2013级
3、 03班 学 号: 1 姓 名: 杨 师 指导老师: 胡 静 一、设计目的网络应用开发是一门实用性、综合性较强的课程。学生在学完本门课程后,不仅要掌握Web设计的方法和技术,更重要的是能综合应用所学的网页设计、高级编程语言及数据库知识,具有实际开发动态网站的能力。本课程设计旨在使学生通过完成一个小型的Web应用系统,实现从网站规划、设计、编码和调试的全过程,将理论知识和实践知识相结合,提高学生实际开发网站的动手能力。二、设计内容在线留言本1、 用户能够注册2、 用户登录后l 查看并编辑用户注册信息l 首页分页显示全部的留言主题l 可以留言,或对他人的留言进行回复l 对自己的留言进行修改或删除可
4、增加的功能:下载专区功能,提供文件的上传、显示和下载欢迎页面三、系统总体设计用户注册用户登录使用留言板对所有留言回复对自己的留言及回复修改或删除编辑个人信息上传下载文件查看留言板首页四、数据库设计SQLServer新建数据库MessageBox,在其中新建3张表,分别为User(用户表)、Send(留言表)、Reply(回复表):User表:UserNamePasswordSexEmailPhoneNumberMasterFancyBirthdayPS用户名(key)登录密码性别邮箱手机号码专业擅长业余爱好生日备注1. 用户经过注册页面Regist.aspx注册后信息插入User表2. 用户经
5、过登录页面Welcome.aspx登录时比对User表,信息核对正确即登陆成功3. 用户经过编辑个人资料页面Edit.aspx修改个人信息时更新User表Send表:LeavewordIDTitleBodyCreatetimeLUserName留言编号(key)留言主题留言内容留言时间留言人的用户名1. 在留言板主页Main.aspx页面可以发表个人留言,同时给每条留言分配留言ID2. 在个人留言记录Home.aspx页面对自己的留言及回复修改或删除的时候更新Send表Reply表:ReplyIDBodyCreatetimeLeavewordID回复编号(key)回复内容回复时间留言编号1.
6、在留言板主页Main.aspx页面可以选择任意一条留言来回复,同时给每条回复分配回复ID2. 在个人留言记录Home.aspx页面对自己的留言及回复修改或删除的时候更新Reply表五、系统功能设计与实现1.Welcome.aspx留言板欢迎页面登录按钮点击事件: protected void Button1_Click(object sender, EventArgs e) GridView1.DataBind(); if (Page.IsValid = true) Sessionuser = TextBox1.Text; Response.Redirect(/showmessage.aspx
7、); 用户名检测验证功能: protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) GridView1.DataBind(); if (GridView1.Rows.Count = 0) args.IsValid = false;2.Regist.aspx注册页面用户名检测按钮点击事件:protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
8、GridView1.DataBind(); if (GridView1.Rows.Count = 0) args.IsValid = true; else args.IsValid = false; 籍贯级联功能:private string hunan = 常德市 , 长沙市 , 郴州地区 , 张家界市 , 衡阳市 , 怀化市 , 永州市 , 娄底市 , 邵阳市 , 湘潭市 , 湘西自治区 , 益阳市 , 岳阳市 , 株洲市 ;private string hubei = 鄂州市 , 恩施自治州 , 黄冈市 , 黄石市 , 荆门市 , 荆州市 , 十堰市 , 随州市 , 武汉市 , 咸宁市
9、, 襄樊市 , 孝感地区 , 孝感市 , 宜昌地区 , 宜昌市 , 郧阳地区 ;protected void BindCity(String sheng,DropDownList ddl) if (sheng.Equals(湖南省) ddl.Items.Clear(); ddl.Items.Add(new ListItem(, ); for (int i = 0; i hunan.Length; i+) ddl.Items.Add(new ListItem(hunani); else if (sheng.Equals(湖北省) ddl.Items.Clear(); ddl.Items.Add(
10、new ListItem(, ); for (int i = 0; i hubei.Length; i+) ddl.Items.Add(new ListItem(hubeii); 提交按钮点击事件: protected void Button1_Click(object sender, EventArgs e) string str=; string str1 = ; Sessionusername = username.Text; Sessionpassword = password.Text; Sessionpro = pro.SelectedValue; Sessioncity = ci
11、ty.SelectedValue; Sessionsex = sex.SelectedValue; Sessionemail = email.Text; Sessionphone = phone.Text; for (int i = 0; i good.Items.Count; i+) if (good.Itemsi.Selected) str1 += good.Itemsi.Value + ,; try str = str.Substring(0, str.Length - 1); catch for (int i = 0; i like.Items.Count; i+) if (like.
12、Itemsi.Selected) str += like.Itemsi.Value + ,; try str = str.Substring(0, str.Length - 1); catch birth.Text = Calendar1.SelectedDate.ToShortDateString(); Sessiongood = str1; Sessionlikes = str; Sessionbirth = birth.Text; Sessionextra = extra.Text; if (Page.IsValid) SqlDataSource1.Insert(); Response.
13、Redirect(/Welcome.aspx); 3. 留言板主页导航栏四个按钮点击事件: protected void Button2_Click(object sender, EventArgs e) Response.Redirect(/Edit.aspx); protected void Button3_Click(object sender, EventArgs e) Response.Redirect(/download.aspx); protected void Button1_Click(object sender, EventArgs e) Response.Redirect
14、(/Home.aspx); 我要留言点击事件: protected void send_Click(object sender, EventArgs e) Panel1.Visible = true; 留言发表: protected void submit_Click(object sender, EventArgs e) SessionUcreatetime = DateTime.Now.ToString(); SqlDataSource2.Insert(); Response.Redirect(/showmessage.aspx); 选择留言触发事件: protected void Gri
15、dView2_SelectedIndexChanged(object sender, EventArgs e) SessionRid = GridView2.RowsGridView2.SelectedIndex.Cells1.Text; 回复按钮点击:protected void Button1_Click(object sender, EventArgs e) TextBox1.Visible = true; Button2.Visible = true; protected void Button2_Click(object sender, EventArgs e) SessionMbo
16、dy = TextBox1.Text; SessionMcreatetime = DateTime.Now.ToString(); SqlDataSource2.Insert(); Response.Redirect(/main.aspx); protected void GridView2_SelectedIndexChanged(object sender, EventArgs e) SessionRid = GridView2.RowsGridView2.SelectedIndex.Cells1.Text; 效果图:4. Home.aspx页面查看个人留言记录个人留言表选择触发事件:pr
17、otected void GridView1_SelectedIndexChanged(object sender, EventArgs e) Sessionid = GridView1.RowsGridView1.SelectedIndex.Cells1.Text; Response.Redirect(/Todo.aspx); 效果:个人回复表选择触发事件: protected void GridView2_SelectedIndexChanged(object sender, EventArgs e) SessionRid = GridView2.RowsGridView2.Selecte
18、dIndex.Cells1.Text; Response.Redirect(/Todo.aspx); 效果:5. Edit.aspx页面编辑个人资料直接使用数据源控件绑定更新User表的信息:asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT Id, username, password, sex, procy, Email, phone, good, likes, birth, extra FROM User WHERE (username = username) Up
19、dateCommand=UPDATE User SET username = username, password = password, sex = sex, procy = procy, Email = email, phone = phone, good = good, likes = likes, birth = birth, extra = extra WHERE (username = username) 6. Download.aspx页面上传下载专区主要后台代码: protected void Page_Load(object sender, EventArgs e) if(!
20、Page.IsPostBack) string strfilepath=Server.MapPath(/files/);/页面加载获取下载文件的存放目录 DirectoryInfo dir = new DirectoryInfo(strfilepath);/获得该目录下的所有文件 FileSystemInfo files = dir.GetFileSystemInfos(); ListItem items;/将遍历的文件名称显示在LISTBOX控件中 foreach (FileSystemInfo infofiles in files) items = new ListItem();/声明一个
21、ListItem对象 items.Text = infofiles.Name; items.Value = infofiles.FullName; ListBox1.Items.Add(items);/向ListBox控件中添加数据信息 protected void Button1_Click(object sender, EventArgs e) string saveDir = files; /指定的文件夹要存在 string appPath = Request.PhysicalApplicationPath; if (fuImage.HasFile) string savePath =
22、appPath + saveDir + fuImage.FileName; fuImage.SaveAs(savePath); Label1.Text = 上传成功!; else Label1.Text = 上传失败; protected Boolean DownLoad(string fileURL) Boolean Dok = false; try string FullPathURL = Server.MapPath(fileURL);/获取文件下载路径 System.IO.FileInfo file = new System.IO.FileInfo(FullPathURL); if (
23、file.Exists) /判断要下载的文件是否存在 Response.Clear(); /清空response对象中的内容 Response.AddHeader(Content-disposition, attachment;filename= + HttpUtility.UrlEncode(file.Name); Response.AddHeader(Content-Length, file.Length.ToString(); Response.ContentType = application/octet-stream; Response.WriteFile(FullPathURL);
24、 /通过对Response对象执行下载文件的操作 Response.End(); /结束Response对象 Response.Flush(); /刷新Response对象 Response.Clear(); /清空response对象中的内容 Dok = true; else this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(),success,alert(文件不存在!); catch (Exception) this.Page.ClientScript.RegisterClientScriptBlock(this.G
25、etType(), success, alert(文件不存在!); return Dok; protected void Button2_Click(object sender, EventArgs e) /获取下载文件的路径 string downfiles; try downfiles = files/ + ListBox1.SelectedItem.Text; DownLoad(downfiles); catch (Exception) this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), success, al
26、ert(选择文件为空,请先选择要下载的文件!); 六、课设小结 本次课设让我们系统性的去巩固了.Net的知识,也更全面的利用所学知识加以应用,是个很好的锻炼实战机会和经验,其中也遇到一些问题,比如说对GridView的一些功能没有掌握好在重温了课程PPT才会捡起来怎样使用自带选择,编辑,删除的功能,同时更致命的是我们对数据库中表的个人信息这一部分更新的时候却全部改动了整个表而不是我们预想的对单条目进行改动,最终经过我们的讨论和认真探讨终于是解决了这个问题,原来 不仅是删除语句要加上WHERE语句,更新的时候也要加上WHERE语句加以控制才能对单条目进行更新,总之这次课设是一个很棒的学习之旅。专心-专注-专业