ASP课程设计的任务.docx
- 文档编号:8330749
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:21
- 大小:1.23MB
ASP课程设计的任务.docx
《ASP课程设计的任务.docx》由会员分享,可在线阅读,更多相关《ASP课程设计的任务.docx(21页珍藏版)》请在冰豆网上搜索。
ASP课程设计的任务
课程设计任务书
题目:
留言板系统设计
学号201012220219
姓名赵文正
专业计算机应用技术
课程.NET编程基础、.NET项目开发实践
指导教师迟庆云职称讲师
完成时间:
2012年5月----2012年6月
枣庄学院信息科学与工程学院制
课程设计任务书及成绩评定
课程设计的任务和具体要求
通过本实验理解在ASP.NET环境中创建ASP.NET数据库应用网站的方法和常用技巧;理解ADO.NET环境中的应用;掌握Web窗体控件的基本使用方法和常用属性。
通过本实验主要让学生体验如何综合运用前面几个章节所学的知识去开发一个实用性网站,主要达到如下目标:
1.学会系统分析的方法,掌握如何来分析系统的功能与业务流程。
2.学会数据库的设计方法,掌握如何来设计数据表单。
3.学会面向对象的方法和模块化的页面设计方法。
4.熟练掌握常用Web控件的使用以及C#语言的编程。
指导教师签字:
、日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件等
硬件:
图书馆的书籍、计算机、打印机、
软件:
SQLserver2005,visualstudio2005
课程设计进度计划
起至日期
工作内容
备注
2012.5.10—2010.6.2
2010.6.2—2010.6.15
2010.6.15—2010.6.24
熟悉相关知识,查阅资料
分析实验要求,确定解决方案
详细分析,编写代码及调试运行
书写实验报告
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]宋瀚涛,梁允荣.关系数据库原理与系统.北京理工大学出版社,1992
[2]刘秋生.数据库系统设计及其应用案例分析.东南大学出版社,2005
[3]王珊.数据库系统概论(第3版).高等教育出版社,2002
[4]张丽,王强.SQLServer数据库原理及应用教程.清华大学出版社,2003
[5]范策,周世平,胡潇琨.算法与数据结构.机械工业出版社,2004年
目录
1.系统分析与设计1
1.1需求分析1
1.2数据库结构设计1
2.系统开发环境2
2.1MVC三层构架2
2.2开发工具简介2
2.2.1ASP简介2
2.2.2IIS简介2
2.2.3Access简介3
2.3开发模式3
3.系统详细设计4
3.1创建与连接数据库4
3.1.1数据库表的设计4
3.2留言信息页面的设计6
4.主要代码实现7
总结16
1.系统分析与设计
1.1需求分析
开发一个留言系统,首先需要确定留言的功能是什么,也就是用户想要的留言所能做的工作。
用户使用留言是按照一定的流程来进行的:
用户进入留言板页面后,可以就某个话题展开讨论,通过留言功能发布新的话题,通过回帖的功能回复已有的话题;管理员要管理留言,系统需要具有的功能有创建、删除留言。
这样的流程就决定了留言所应具有的功能,留言功能流程如图1.1所示。
留言人查看留言
发表留言
查看首页
图1.1留言功能流程图
观察留言所有功能需求,按不同实体分类,可以分为三类实体对象:
留言、回复留言、管理留言和回复留言。
这三类对象,可以设计为两个数据实体,如果使用数据库存储它们,即可以设计两个基本数据表的集合来存储这些实体的基本信息;它们可以设计为两个基本表,映射两个实体的基本数据。
这些基本对象只是留言系统中最为基本的要素,对于一个完整的留言还需要其它相关的表来记录相关的信息,即实体之间的相互关系信息。
留言系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览、回帖一直贯穿用户的整个活动。
同时,由于留言系统的留言管理是管理员在留言浏览时进行的,因此删除等功能也安排在浏览信息时实现,只是一般用户没有权限做这些动作。
1.2数据库结构设计
该系统的实体有:
管理员信息实体、留言实体。
实体之间的E-R图如图1.4所示。
图1.4实体间的关系E-R图
留言信息:
包括数据项有用户、内容、发表时间、发表ip地址等。
在设计数据库表的过程中,一般要遵循几条原则:
数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的复杂度小;数据表的信息结构一定要合适,表的字段的数量一般不要过多;扩展信息和动态变化的信息一定要分开在不同的表里;多对多这样的表关系尽量不出现等。
2.系统开发环境
2.1MVC三层构架
MVC是Model-View-Controller的简写,“Model”代表的是应用的业务逻辑,“View”是应用的表示面,“Controller”是提供应用的处理过程控制,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
2.2开发工具简介
2.2.1ASP简介
ASP是ActiveServerPage的简写。
ASP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。
ASP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
ActiveXDataOject(简称ADO)技术与ASP结合使用,可以具备存取数据库的功能,主要实现三方面的功能:
建立与数据库的连接,执行SQL声明以及处理SQL执行结果。
2.2.2IIS简介
IIS是InternetInformationServer的缩写,它是微软公司主推的服务器,IIS与WindowNTServer完全集成在一起,因而用户能够利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。
IIS完全支持VBScript,JScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。
IIS的一个重要特性是支持ASP。
IIS3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。
对于诸如VBScript,JScript开发软件,或者由VisualBasic,Java,VisualC++开发系统,以及现有的CGI和WinCGI脚本开发的应用程序,IIS都提供强大的本地支持。
2.2.3Access简介
Access是Office系列软件中用来专门管理数据库的应用软件。
所谓数据库是指经过组织的、关于特定主题或对象的信息集合。
数据库管理系统分为两类:
文件管理系统和关系型管理系统。
Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。
它可运行于各种MicrosoftWindows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。
它并不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。
2.3开发模式
网站建设目前主要有两种基本的开发模型:
两层模型、三层模型。
B/S结构是真正的三层结构,它以访问WEB数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。
其三级结构组成如下图所示:
客户端
客户端
后台数据库
WEB服务器
图2.1开发模式图
图中从左到右,分为三个层次:
第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。
在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;
第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;
第三层数据库服务器是数据层。
数据库服务器应客户请求独立地进行各种处理。
与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。
而且使维护任务层次化:
管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。
3.系统详细设计
留言拥有大量的数据,这就需要对这些数据进行存储和管理建立数据库。
因为当留言的在线用户很多时,就会出现“瓶颈”现象,造成阻塞,这里应该创建连接池来提高利用率。
数据库建立成功后就应该进行具体的系统设计。
然后,将进行留言信息页面的设计,包括主页面、发布留言相关页面等,是显示在留言页面,可以由用户(包括用户)以上级别的浏览者看到;最后,进行留言管理页面的设计,这是只能由管理员进行操作的页面,管理员会对留言进行安全、有条理的管理。
3.1创建与连接数据库
3.1.1数据库表的设计
数据表的字段:
id:
留言人的编号
name:
留言人的姓名
send:
留言的对象姓名
main:
留言的内容
time:
留言时间
gb表:
Massage表:
3.2留言信息页面的设计
留言界面
(1)查看留言界面:
(2)
4.主要代码实现
图片输出代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Drawing;
publicpartialclassadmin_checkcode:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
//调用自定义方法绘制验证码
CreateCheckCodeImage(GenerateCheckCode());
}
privatestringGenerateCheckCode()
{
//创建整型型变量
intnumber;
//创建字符型变量
charcode;
//创建字符串变量并初始化为空
stringcheckCode=String.Empty;
//创建Random对象
Randomrandom=newRandom();
//使用For循环生成4个数字
for(inti=0;i<4;i++)
{
//生成一个随机数
number=random.Next();
//将数字转换成为字符型
code=(char)('0'+(char)(number%10));
checkCode+=code.ToString();
}
//将生成的随机数添加到Cookies中
Response.Cookies.Add(newHttpCookie("CheckCode",checkCode));
//返回字符串
returncheckCode;
}
privatevoidCreateCheckCodeImage(stringcheckCode)
{
//判断字符串不等于空和null
if(checkCode==null||checkCode.Trim()==String.Empty)
return;
//创建一个位图对象
System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length*12.5)),22);
//创建Graphics对象
Graphicsg=Graphics.FromImage(image);
try
{
//生成随机生成器
Randomrandom=newRandom();
//清空图片背景色
g.Clear(Color.White);
//画图片的背景噪音线
for(inti=0;i<2;i++)
{
intx1=random.Next(image.Width);
intx2=random.Next(image.Width);
inty1=random.Next(image.Height);//5|1|a|s|p|x
inty2=random.Next(image.Height);
g.DrawLine(newPen(Color.Black),x1,y1,x2,y2);
}
Fontfont=newSystem.Drawing.Font("Arial",12,(System.Drawing.FontStyle.Bold));
System.Drawing.Drawing2D.LinearGradientBrushbrush=newSystem.Drawing.Drawing2D.LinearGradientBrush(newRectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2f,true);
g.DrawString(checkCode,font,brush,2,2);
//画图片的前景噪音点
for(inti=0;i<100;i++)
{
intx=random.Next(image.Width);
inty=random.Next(image.Height);
image.SetPixel(x,y,Color.FromArgb(random.Next()));
}
//画图片的边框线
g.DrawRectangle(newPen(Color.Silver),0,0,image.Width-1,image.Height-1);
//将图片输出到页面上
System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType="image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
}
留言代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.OleDb;
usingSystem.IO;
publicpartialclass_Default:
System.Web.UI.Page
{
DB1da=newDB1();
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
//5+1+a+s+p+x
stringcode=TextBox4.Text;
if(Request.Cookies["checkcode"].Value==code)
{
stringname=TextBox1.Text.Replace("\r\n","
");
stringsend=TextBox2.Text.Replace("\r\n","
");
stringmain=TextBox3.Text.Replace("\r\n","
");
stringins="insertintomassage(name,send,main)values('"+name+"','"+send+"','"+main+"')";
OleDbDataReaderodr=da.ExceRead(ins);
Session["name"]=name;
Session["send"]=send;
Session["main"]=main;
stringoid="select*frommassagewherename='"+name+"'andsend='"+send+"'";
DataSetds=da.ExceDS2(oid,"id");
stringid=ds.Tables["id"].Rows[0][0].ToString();
Session["id"]=id;
Session.Timeout=20;
Response.Write("");
Response.Redirect("next.aspx");
}
else
{
RegisterStartupScript("","");
}
}
}
留言登录代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.OleDb;
usingSystem.IO;
publicpartialclass_Default:
System.Web.UI.Page
{
DB1da=newDB1();
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringcode=TextBox4.Text;
if(Request.Cookies["checkcode"].Value==code)
{
stringname=TextBox1.Text.Replace("\r\n","
");
stringsend=TextBox2.Text.Replace("\r\n","
");
stringmain=TextBox3.Text.Replace("\r\n","
");
stringins="insertintogb(name,send,main)values('"+name+"','"+send+"','"+main+"')";
OleDbDataReaderodr=da.ExceRead(ins);
Session["name"]=name;
Session["send"]=send;
Session["main"]=main;
stringoid="select*fromgbwherename='"+name+"'andsend='"+send+"'";
DataSetds=da.ExceDS2(oid,"id");
stringid=ds.Tables["id"].Rows[0][0].ToString();
Session["id"]=id;
Session.Timeout=20;
Response.Write("");
Response.Redirect("gbnext.aspx");
}
else
{
RegisterStartupScript("","");
}
}
}
查看留言代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.OleDb;
usingSystem.IO;
publicpartia
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 课程设计 任务