毕业论文个人博客的设计与实现.docx
- 文档编号:4849074
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:21
- 大小:1.48MB
毕业论文个人博客的设计与实现.docx
《毕业论文个人博客的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业论文个人博客的设计与实现.docx(21页珍藏版)》请在冰豆网上搜索。
毕业论文个人博客的设计与实现
毕业论文个人博客的设计与实现
本科毕业设计(论文)
题 目:
个人博客的设计与实现
学生姓名:
学号:
系(部):
数学与计算机科学专业:
计算机科学与技术
入学时间:
201 年 月
导师姓名:
职称/学位:
导师所在单位:
个人博客的设计与实现
第一章引言
个人博客是当今网络上的热点,它以其独有的个性、方便而广泛应用;无论是聊天工具,还是博客系统,甚至于企业公告等都或多或少地将其运用成为交流的重要手段。
1.1课题研究的意义
在Internet飞速发展的今天,互联网成为人们快速获取,发布和传递信息的重要渠道。
它在人们政治、经济、生活等各个方面发挥着重要的作用。
Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet中按照一定的检索方式将所需要的信息从网站上下载下来。
因此网站建设在Internet应用上的地位显而易见它已成为政府,企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
根据个人喜欢开发了博客网站。
1.2个人博客的现状
个人博客发展的情况,现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活。
成为了我们表现自己的主要方式。
它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。
看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。
在近二千万的中国博客用户中,每个用户平均每7.6天更新一次博客,活跃的博客用户数,一周内有更新的博客达到302万。
约15.2%的用户每周更新博客同时只有大约4.6%的用户每天更新博客。
在用户更新的博客中约42%的博客文章在500个汉字到1000个字节之内,1000~2000个字节的博客文章占约16.5%。
越是长篇大论的文章在博客中所占比例则越少。
个人博客目前面临的主要问题,由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网路,这就需要文化部门的有力监督。
1.3个人博客功能描述
个人博客采用ASP.NET与SQLServer相结合的技术,使用户能够:
记录个人生活:
如同日记一般,可将自己每日生活中发生的事情记录下来。
表达个人思想:
它可依照个人自由意志去撰写内容,传达个人的自由思想。
分享个人心情:
把生活中的不满、郁闷或愤怒宣泄到博客上。
第二章BOLG的系统分析
2.1系统需求分析
(1)前台主要功能要求。
通过对个人博客的典型业务调查分析可以得到个人博客前台用户的主要功能包括:
允许用户查看所有的日志及图片;
访问者可以查看日志文章、图片及用户信息;
访问者可以查看文章评论,并能够发表新的评论;
允许用户装扮自己的个人空间;
允许用户播放音乐、转载和分享视频。
(2)后台主要功能要求。
通过对个人博客的典型业务调查分析可以得到个人博客后台用户的主要功能包括:
可以查看和修改用户的个人资料;
可以对日志进行增加、修改、删除以及日志的分类管理;
可以对图片进行上传、删除及修改;
可以对评论进行分类管理。
2.2系统流程图
第三章系统开发
3.1数据库E-R图
系统开发过程中,数据库设计占有重要的地位。
数据库设计的原则是根据系统的整体需求而定的。
通过对本网站进行的需求分析、网站流程分析,以及系统功能结构的确定,规划出系统中使用的数据库实体对象。
通过整理,画出部分数据库实体的概念模型图。
3.2数据库对象
1)用户表(Register)
列名
数据类型
长度
主键
允许空
说明
user_id
Int
是
否
编号
user_name
Varchar
15
否
用户名
password
Varchar
15
否
用户密码
sendpassword
Varchar
15
否
确认密码
Question
Varchar
30
否
问题
Answer
Varchar
30
否
答案
Emile
Varchar
30
是
邮箱
Relname
Varchar
15
是
真实姓名
Address
Varchar
200
是
地址
Age
Int
否
年龄
2)图片表(Photo)
列名
数据类型
长度
主键
允许空
说明
photo_id
int
是
否
编号
Title
Varchar
50
是
标题
Info
Varchar
50
是
简介
AddDate
Datetime
是
添加时间
Url
Varchar
50
是
图片地址
3)文章表(News)
列名
数据类型
长度
主键
允许空
说明
News_id
int
是
否
编号
Title
Nvarchar
30
是
标题
Body
Nvarchar
3000
是
内容
AddDate
Datetime
是
添加时间
Click
Int
是
点击量
Re
Int
是
回复
Class
Nvarchar
15
是
类别
IsSave
Bit
是
是否在草稿箱
IsDel
Bit
是
是否在垃圾箱
4)留言表(massage)
列名
数据类型
长度
主键
允许空
说明
Id
Int
是
否
编号
UserName
Varchar
20
是
留言者
Date
Datetime
是
留言时间
Icon
Varchar
50
是
留言者头像
Body
Varchar
100
是
留言内容
Face
Varchar
50
是
留言表情
5)文章分类表(Class)
列名
数据类型
长度
主键
允许空
说明
Class_id
int
是
否
编号
Class_name
Nvarchar
30
是
类别名称
3.3系统界面
3.3.1.用户注册页面
不是本网站的用户,可以通过登录页面的注册新用户链接进入到注册页面,注册成功的用户,便可拥有自己的个人空间。
见图1
图1:
注册页面
3.3.2.日志添加页面
3.3.3.个人管理页面
3.3.4.相册页面
3.3.5.日志页面
3.3.6.留言页面
第四章博客各项目的功能与实现
4.1博客各项目的功能
(1)用户登录的功能
根据客户进入用户登录的界面,可以注册自己的信息,注册一个属于个人的账户,完成初始进入博客的允许权。
(2)日志发表界面的功能
博客首页上登录博客后,在个人模块可点击“写日志”进入写日志页面;进入博客后,鼠标指向到左上角的快捷工具栏提示图标,可快速调用工具栏,点击工具栏中的“写日志”,也进入写日志页面;可在个人博客中,点击标题栏的“写日志”,进入写日志页面。
添加日志标题、填写正文,即可立即发表日志,为了方便日志管理,你可以设置分类,设置观看权限。
(3)留言板界面的功能
博客主人与访客都可以在此留言,为博客与访客之间提供一个交流的平台。
(4)图片上传的功能
博客主人可以利用上传图片的功能,将自己喜欢或者想保留的图片存在博客里面,图片可以展示博客主人的风格、最近状况、以及各项信息的体现。
4.2用户登录实现
通过代码建立一个用户登录界面。
源代码如下:
us=newUsers();
stringuid=txtuid.Text.Trim().ToString();
stringpwd=txtpwd.Text.Trim().ToString();
if(uid!
=""&&pwd!
="")
{
if(us.Select(uid,pwd))
{
Session["username"]=uid;
Response.Redirect("../Manage/Hou.aspx",true);
}
else
{
ClientScriptManagerclient=this.ClientScript;
client.RegisterStartupScript(this.GetType(),"55","");
return;
}
}
}
日志发表实现
通过代码建立一个日志发表实现界面。
源代码如下:
Newsnews=newNews();
SqlHelpsql;
protectedvoidPage_Load(objectsender,EventArgse)
{
SqlHelp.CheckLoginState();
if(!
IsPostBack)
{
BindDrop();
}
}
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
stringtext=InputText(Editor1.Text);
if(news.AddNews(txtTitle.Text.Trim(),text,DateTime.Now,0,0,TType.SelectedValue,0,0))
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","");
}
else
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","alert('添加博客失败!
')",true);//5~1=a=s=p=x
}
}
protectedvoidBindDrop()
{
sql=newSqlHelp();
DataSetds=sql.GetDataSet("selectclass_id,class_namefromclassorderbyclass_iddesc");
TType.DataSource=ds.Tables[0].DefaultView;
TType.DataTextField="class_name";
TType.DataValueField="class_id";
TType.DataBind();
}
publicstringInputText(stringtext)
{
text=text.Trim();
if(string.IsNullOrEmpty(text))
{
returnstring.Empty;
}
text=Regex.Replace(text,"[\\s]{2,}","");//twoormorespaces
text=Regex.Replace(text,"(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?
>)","\n");//
text=Regex.Replace(text,"(\\s*&[n|N][b|B][s|S][p|P];\\s*)+","");//
text=Regex.Replace(text,"<(.|\\n)*?
>",string.Empty);//anyothertags
text=text.Replace("'","''");
returntext;
}}
}
留言评论实现
通过代码建立一个留言评论实现界面
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
dlbind();
}
}
publicvoiddlbind()
{
intcurpage=Convert.ToInt32(lb_currentpage.Text);
SqlConnectionconn=newSqlConnection("server=.;database=blog;uid=sa;pwd=sql2005");
SqlDataAdapterda=newSqlDataAdapter("selecttop50*fromMessageorderbydatedesc",conn);
DataSetds=newDataSet();
da.Fill(ds,"Message");
PagedDataSourceps=newPagedDataSource();
ps.DataSource=ds.Tables["Message"].DefaultView;
ps.AllowPaging=true;
ps.PageSize=5;
ps.CurrentPageIndex=curpage-1;
lb_page.Text=Convert.ToString(ps.PageCount);
if(!
IsPostBack)
{
for(inti=1;i<=ps.PageCount;i++)
{
DropDownList1.Items.Add(i.ToString());
}
DropDownList1.SelectedItem.Text=curpage.ToString();
}
lbtn_frist.Enabled=true;
lbtn_up.Enabled=true;
lbtn_down.Enabled=true;
lbtn_last.Enabled=true;
if(curpage==1)
{
lbtn_frist.Enabled=false;
lbtn_up.Enabled=false;
}
if(curpage==ps.PageCount)
{
lbtn_down.Enabled=false;
lbtn_last.Enabled=false;
}
Repeater1.DataSource=ps;
Repeater1.DataBind();
}
protectedvoidlbtn_frist_Click(objectsender,EventArgse)
{
lb_currentpage.Text="1";
dlbind();
}
protectedvoidlbtn_up_Click(objectsender,EventArgse)
{
lb_currentpage.Text=Convert.ToString(Convert.ToInt32(lb_currentpage.Text)-1);
dlbind();
}
protectedvoidlbtn_down_Click(objectsender,EventArgse)
{
lb_currentpage.Text=Convert.ToString(Convert.ToInt32(lb_currentpage.Text)+1);
dlbind();
}
protectedvoidlbtn_last_Click(objectsender,EventArgse)
{
lb_currentpage.Text=lb_page.Text;
dlbind();
}
protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)
{
intpage=Convert.ToInt32(DropDownList1.SelectedItem.Value);
lb_currentpage.Text=page.ToString();
dlbind();
}
protectedvoidImageButton_Command(objectsender,CommandEventArgse)
{
ne=newNews();
intid=int.Parse(e.CommandName);
if(ne.DelMsg(id))
{
ClientScriptManagercli=Page.ClientScript;
cli.RegisterStartupScript(this.GetType(),"45","");
dlbind();
}
}
图片上传
源代码如下:
Newsnews=newNews();
protectedvoidPage_Load(objectsender,EventArgse)
{
SqlHelp.CheckLoginState();
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringfilnename,filneval,filepath;
if(FileUpload1.PostedFile.FileName=="")
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","alert('请选择照片,再提交!
')",true);
return;
}
//获取服务器保存路径
filepath=Server.MapPath("../Uploads");
//获取上传文件名称
filnename=FileUpload1.PostedFile.FileName;
filnename=filnename.Substring(filnename.LastIndexOf("\\")+1);
//获取文件类型
filneval=filnename.Substring(filnename.LastIndexOf(".")+1).ToLower();
if(!
(filneval=="jpg"||filneval=="gif"||filneval=="bmp"||filneval=="png"))//51@aspx
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","alert('只能上传:
jpg,gif,bmp,png格式!
')",true);
return;
}
stringti=title.Text;
stringfo=info.Text;
if(ti.Length>50||fo.Length>50)
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","alert('标题在50个字符以内!
')",true);
return;
}
//给上传的文件以日期命名
stringrefilename=DateTime.Now.ToString("yyyymmddHHmmss");
//开始上传文件
try
{
FileUpload1.SaveAs(filepath+"\\"+refilename+"."+filneval);
}
catch
{
ClientScriptManagerscript=this.ClientScript;
script.RegisterStartupScript(this.GetType(),"123","alert('上传失败!
')",true);
return;
}
//把文件的路径写入数据库
if(news.AddPhoto(ti,fo,DateTime.Now,"../Uploads/"+refilename+"."+filneval))
{
Label1.Visible=true;
Label1.Text="提示:
文件成功上传";
}
title.Text=null;
info.Text=null;
第五章总结
博客系统设计实现了前台访问者查看日志、浏览图片、收听查看音频视频和留言功能,以及后台管理员对日志、图片、音频视频、留言的一系列操作。
通过本次设计,掌握了许多网页开发工具和方法,基础理论知识、软件操作技能,独立思考问题的能力方面都有了长足的进步。
通过这段时间的设计与开发,总体上完成了以下几项工作:
1.研究了题库理论,参考了一些相关的文献资料,并且使用了一些网页设计,对博客设计与开发有了一定的认识和了解。
2.研究了ASP.NET技术,SQLSERVER数据库技术,从而为系统原型的实现提供解决方案。
3.在研究设计的基础之上对系统进行实现,该系统大体上实现了总体设计方案中所提到的前台系统和后台系统2个模块的功能。
4.对系统进行测试,尽管在测试过程中还有一些尚未解决的问题,但是这些都是预期可以解决的。
参考文献
[1]徐人凤曾建华主编.SQLServer2005[M].数据库及应用高等教育出版社.
[2]马军著.ASP网络编程从入门到精通[M].人民邮局出版社
[3]沈阳李勇敢著.Asp.NET程序设计教程[M].清华大学出版社
[4][美]John
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 个人 博客 设计 实现