基于ASP.NET的博客网站毕业论文.doc

上传人:文库蛋蛋多 文档编号:2385221 上传时间:2023-02-17 格式:DOC 页数:27 大小:3.65MB
返回 下载 相关 举报
基于ASP.NET的博客网站毕业论文.doc_第1页
第1页 / 共27页
基于ASP.NET的博客网站毕业论文.doc_第2页
第2页 / 共27页
基于ASP.NET的博客网站毕业论文.doc_第3页
第3页 / 共27页
基于ASP.NET的博客网站毕业论文.doc_第4页
第4页 / 共27页
基于ASP.NET的博客网站毕业论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《基于ASP.NET的博客网站毕业论文.doc》由会员分享,可在线阅读,更多相关《基于ASP.NET的博客网站毕业论文.doc(27页珍藏版)》请在三一办公上搜索。

1、漳州师范学院毕业论文(设计)基于ASP.NET的博客网站BLOG WEBSITE BASED ON ASP.NET姓 名: 何银生 学 号: 100803126 系 别: 计算机科学与工程系 专 业: 计算机科学与技术 年 级: 2010年(高职本) 指导教师: 林宣治 2011年11月15日摘要随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP.NET动态网页技术开发博客网站的设计与实现。博客网站主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。博客网站主要实现了文章管理的数字化、信息化、智能化。 本网站

2、的开发设计实现采用ASP.NET技术,网站后台使用Microsoft的SQL2005数据库,并通过使用ADO.NET技术访问。 本文对博客网站进行整体分析,明确了网站的可行性和用户需求;根据模块化原理,规划设计了网站功能模块;在数据库设计部分,详细说明了网站数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出网站的程序设计思路,对前台与后台功能的程序实现进行了详细论述。最后,对网站作以客观、全面的评价,并对进一步改进提出了建议。关键词:博客; 数据管理系统; ASP.NET程序设计AbstractWith the extensive application of

3、 the Internet, dynamic web technology has emerged. This text describes the application of ASP.NET dynamic web technology and development the blog website. Blog website is mainly to provide users with published articles, browse articles, and other functions,Users can express themselves by some articl

4、es and with other netizens to conduct exchanges. Blog website of the main article on the digital management, information, intelligence, is to break the way of Released an article by traditional newspapers and magazine published ,it makes a new way to try. The website is designed by ASP.NET technolog

5、y, backstage adoption SQL 2005 database,and use the ADO.NET technology to visit. In this paper,it analysis the blog website by feasibility and the demand of the user. Under the modular theory, planning and design of the website functional modules; In the database design, a detailed description of th

6、e database structure and database integrity, security measures; Programming is used object-oriented programming design, website design ideas, background for the future and function of the program in detail. Finally, the website in an objective, comprehensive evaluation, as well as further improvemen

7、ts made.Keywords: blog; database management system; ASP.NET;目录摘要I1 引言11.1网站开发背景11.2课题研究的意义11.3 ASP.NET简介12 BLOG网站总体设计22.1网站设计方案22.2 网站功能模块22.3数据库需求分析32.4网站操作流程42.5网站插件53 Blog 网站详细设计53.1 数据库详细设计53.1.1数据表设计53.1.2数据表E-R图83.1.3数据库访问103.2后台功能详细设计103.2.1身份验证103.2.2用户管理113.2.3分类管理113.2.4博文管理123.2.5相册管理123.

8、2.6图片管理123.2.7评论管理123.2.8留言管理133.2.9系统管理133.3前台功能详细设计143.3.1 用户模块143.3.2分类模块183.3.3博文模块183.3.4相册模块193.3.5留言模块213.3.6换肤模块214 安全性分析225 结束语225.1不足之处与改进225.1.1并发性225.1.2界面美观化225.2结论22参考文献23致谢241 引言1.1网站开发背景随着计算机技术的发展和普及,Blog得到了极大的发展。Blog,是Weblog的简称。Blog是一种新的生活方式、新的工作方式、新的学习方式和交流方式。它是继E-mail、BBS、ICQ、之后出现

9、的第4种网络交流方式。Blog主要应用于3个方面:一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。Blog作为个人的一种学习工具,简单易用,吸引人的兴趣。Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应时代需求不断进步的。1.2课题研究的意义随着Blog人数的增加,Blog作为一种新的生活方式、

10、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台2。1.3 ASP.NET简介本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方

11、面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构4。它相比于ASP有着以下几个方面的优点: (1)多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET,另外还支持一些第三方语言。(2)服务器处理ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们

12、作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。(3)Web Form控件将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。(4)代码与内容分离一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NE

13、T则采用了代码内联和后台编码两种方法实现了代码与内容的分离。2 Blog网站总体设计2.1网站设计方案本系统是面向个人用户和小型集体用户开发的系统,完成用户在Blog上进行预定操作,实现用户和来宾之间的双向沟通。具体设计方案为:(1)系统服务器为IIS,数据库为SQLSERVER2005,整个系统界面采用Microsoft visual Studio 2008开发。(2)系统采用MVC框架,用C#语言实现。(3)服务器与数据库的连接使用SQL编程接口的SQLConnection对象进行连接。(4)网站分成两部分,前台为普通用户操作界面,功能包括:阅读博文,评论博文,上传图片,浏览图片,发表留言

14、,在线换肤。后台为管理员操作界面,管理员通过登录进入管理界面,功能包括:用户管理,分类管理,博文管理,相册管理,图片管理,评论管理,留言管理,系统管理。2.2 网站功能模块网站功能模块包括两大块:管理界面功能模块和普通用户界面功能模块。其具体功能如下所示:(1)管理员功能:用户管理,分类管理,博文管理,相册管理,图片管理,评论管理,留言管理,系统管理。(2)普通用户功能:发表博文,查看博文,上传图片,查看图片,评论,留言和在线换肤。(3)用户管理:用户信息的查看,修改,删除。(4)分类管理:博文类型的查看,修改,删除。(5)博文管理:博文信息的查看,修改,删除。(6)相册管理:相册信息的查看,

15、修改,删除。(7)图片管理:图片信息的查看,修改,删除。(8)评论管理:评论信息的查看,修改,删除。(9)留言管理:留言信息的查看,修改,删除。(10)系统管理:修改密码,返回首页,退出系统。管理员功能模块图如下:图2.2.1管理员功能模块图普通用户功能模块图如下:图2.2.2普通用户功能模块图2.3数据库需求分析1. 用户分为普通用户和管理员用户,普通用户又分博主跟用户。2. 管理员涉及用户管理、类型管理、博文管理、相册管理、图片管理、评论管理、留言管理、系统管理。3. 普通用户可以查看博文分类、博文、相册、图片、留言,可以对博文进行评论,可以在线对博主留言。4. 博主可以添加博文分类、博文

16、、相册、图片,可以修改博文分类、博文、相册、图片,可以删除博文分类、博文、相册、图片、留言、评论,可以在线进行换肤。5. 一种博文类型有多篇博文。6. 一篇博文有多条评论。对上面系统功能分析,设计如下数据项:1. 管理员信息:用户名、密码。2. 用户信息:用户编号、用户名、博客名、密码、密码提示问题、答案、用户QQ、用户邮箱、用户性别、注册时间。3. 分类信息:分类编号、分类名称、分类创建时间、用户编号。4. 博文信息:博文编号、博文标题、博文内容、发表时间、博文评论总数、点击率、用户编号、分类编号。5. 博文评论:评论编号、评论的用户、评论内容、评论时间、博文编号。6. 留言信息:留言编号、

17、留言的用户、留言内容、留言时间、用户编号。7. 相册信息:相册编号、相册名称、相册描述、图片总数、创建时间、用户编号。8. 图片信息:图片编号、图片名称、图片描述、上传时间、原图相对路径、缩略图相对路径、图片类型、图片大小、相册编号。2.4网站操作流程分析传统Blog网站这一环节所应具有的功能,可以得到Blog网站应具有以下功能:高级网站用户(管理员)通过浏览器,可以实现用户管理(对用户的各种信息进行浏览、删除、修改等)、分类管理(对分类的各种信息进行浏览、删除、修改等)、博文管理(对博文的各种信息进行浏览、删除、修改等)、相册管理(对相册的各种信息进行浏览、删除、修改等)、图片管理(对图片的

18、各种信息进行浏览、删除、修改等)、评论管理(对博文的各种评论进行浏览、删除、修改等)、留言管理(对留言的各种信息进行浏览、删除、修改等)、系统管理(修改密码、返回首页、退出系统)。博主对分类、博文信息、相册、图片有添加、修改、浏览、删除的权限,对评论跟留言有添加、删除、浏览的权限,还可以在线换肤。而普通网站用户对各项信息只能查看和留言。由此得到的网站的整个流程图如图2.4.1所示:图2.4.1网站操作流程图2.5网站插件1. FCKeditor:网站的添加博文跟修改博文的模块添加了一个FCKeditor的插件,FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于

19、轻量化,不需要太复杂的安装步骤即可使用。2. AJAX Control Toolkit:网站的很多部分都有用到AJAX技术,需添加AJAX Control Toolkit.dll才可使用,它是微软开发的一款专门用户AJAX操作的控件集5。3 Blog 网站详细设计3.1 数据库详细设计3.1.1数据表设计博客网站中的数据管理形式采用数据库1,根据网站需要与数据规范化分为用户表(Blog_User),分类表(Article_Category),博文表(Blog_Article),评论表(Article_Comment),相册表(Blog_Album),图片表(Blog_Photo),留言表(Bl

20、og_Msg),管理员表(Admin),表结构分别如下: 表3.1.1用户表“Blog_User”字段名说明UserID用户编号,自动增加UserName用户名BlogTitle博客名Password密码Question密码提示问题Answer密码提示问题答案UserQQ用户QQUserEmail用户邮箱UserSex用户性别UserCreateTime创建时间表3.1.2博文分类表“Article_Category”字段名说明ArticleCategoryID分类编号,自动增加ArticleCategoryName分类名ArticleCategoryCreateTime分类创建时间UserI

21、D用户编号表3.1.3博文表“Blog_Article”字段名说明ArticleID博文编号,自动增长ArticleTitle博文标题ArticleContent博文内容ArticleCreateTime博文发表时间ArticleCommentNum博文评论总数ArticleClick博文点击率ArtcileUserID用户IDArticleCategoryID分类ID表3.1.4评论表“Article_Comment”字段名说明ArticleCommentID评论编号,自动增长ArticleCommentName评论的用户ArticleCommentContent评论内容ArticleCom

22、mentDate评论时间ArticleID文章ID表3.1.5相册表“Blog_Album”字段名说明AlbumID相册编号,自动增长AlbumName相册名PhotoNum拥有的图片数AlbumAbstract相册描述AlbumCreateTime相册创建日期AlbumUserID创建相册的用户ID表3.1.6图片表“Blog_Photo”字段名说明PhotoID图片编号,自动增长PhotoName图片名称PhotoAbstract图片描述PhotoCreateTime图片上传时间PhotoPath原图路径smallPath缩略图路径PhotoType图片类型PhotoSize图片大小Alb

23、umID相册ID表3.1.7留言表“Blog_Msg”字段名说明MsgID留言编号,自动增长UserID博主IDMsgTitle评论者的名字MsgContent留言内容MsgCreateTime留言时间表3.1.8管理员表“Admin”字段名说明ID管理员编号,自动增长Admin_Name管理员用户名Admin_Pass管理员密码3.1.2数据表E-R图数据表的E-R图分别如下:图3-1 用户信息实体E-R图图3-2 博文分类信息实体E-R图图3-3 博文信息实体E-R图图3-4 评论信息实体E-R图图3-5 相册信息实体E-R图图3-6 图片信息实体E-R图图3-7 留言信息实体E-R图图3

24、-8 管理员信息实体E-R图3.1.3数据库访问该网站数据库的连接在应用程序配置文件(Web.config)中设置了数据库的连接信息。这样提高了程序的的移植性,且为版本升级、代码扩展提供了良好的基础。连接语句代码如下:在功能代码中用如下语句与数据库关联:public static string CheckLogin(string username, string password) string constr = ConfigurationManager.AppSettingsconnStr; using (SqlConnection cn = new SqlConnection(constr

25、) cn.Open(); 3.2后台功能详细设计3.2.1身份验证管理员通过此登陆入口进入管理界面,此入口需要填写正确的用户名、密码才能够登陆,非法用户名不能够登陆,其界面如图3-8所示:图3.2.1管理员登录界面一个网站能正常使用,安全性是非常重要的一个部分。安全性是对用户的身份进行验证并通过验证的用户按照为其授予的访问权限来确定用户是否可以访问某资源的一个过程。为了保证系统的安全,为了保证应用程序的安全,本系统采用了身份验证技术。该代码表示网站禁止对Admin目录下的adminLogin.aspx进行匿名访问.如果存在匿名用户,网站将自动验证用户名,提示错误信息。保证了网站的安全。关键代码

26、如下: protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e) if (txtAdminName.Text = )RegisterClientScriptBlock(, alert(用户名不能为空!);); else if (txtPassword.Text = ) RegisterClientScriptBlock(, alert(密码不能为空!);); else string result = AdminHelper.chackAdmin_Login(this.txtAdminName.Text.Trim

27、(), this.txtPassword.Text.Trim(); if (result = ) RegisterClientScriptBlock(, alert(密码错误!);); else if (result = -1) RegisterClientScriptBlock(, alert(用户名错误!);); else SessionAdmin_Name = this.txtAdminName.Text.Trim(); Response.Write(alert(登录成功!););Response.Redirect(/Admin/adminIndex.aspx?admin_name=+t

28、his.txtAdminName.Text.Trim(); 3.2.2用户管理管理员可以在此页面操作管理功能,这些功能可以对用户进行删除、修改等操作。图3.2.2用户管理界面关键代码如下: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) if (SessionAdmin_Name = null) Response.Redirect(adminLogin.aspx); labAdminName.Text = SessionAdmin_Name.ToString()+,; GvUserInfoBind();

29、 GvUserInfo.DataBind(); private void GvUserInfoBind() DataSet ds = SQLHelper.ExceDS(select UserID,UserName,BlogTitle,Question,UserQQ,UserEmail,UserSex, UserCreateTime from Blog_User); GvUserInfo.DataSource = ds; GvUserInfo.DataKeyNames = new string UserID ; GvUserInfo.DataBind(); 3.2.3分类管理这些功能可以让管理员

30、对分类信息进行删除、修改等操作。图3.2.博文分类管理界面关键代码如同用户管理。3.2.4博文管理管理员可以在此页面操作管理功能,这些功能可以对博文信息进行删除、修改等操作。图3.2.4博文管理界面关键代码如同用户管理。3.2.5相册管理管理员可以在此页面操作管理功能,这些功能可以对相册信息进行删除、修改等操作。图3.2.5相册管理界面关键代码如同用户管理。3.2.6图片管理管理员可以在此页面操作管理功能,这些功能可以对图片信息进行删除、修改等操作。图3.2.6图片管理界面关键代码如同用户管理。3.2.7评论管理管理员可以在此页面操作管理功能,这些功能可以对评论信息进行删除、修改等操作。图3.

31、2.7评论管理界面关键代码如同用户管理。3.2.8留言管理管理员可以在此页面操作管理功能,这些功能可以对留言信息进行删除、修改等操作。图3.2.8留言管理界面关键代码如同用户管理。3.2.9系统管理管理员可以在此页面操作管理功能,这些功能包含密码修改、返回首页、退出系统等操作。图3.2.9修改密码界面关键代码如下:Response.Redirect(adminIndex.aspx); /返回首页 protected void Page_Load(object sender, EventArgs e) /修改密码 if (!IsPostBack) if (SessionAdmin_Name =

32、null) Response.Redirect(adminLogin.aspx); labAdminName.Text = SessionAdmin_Name.ToString()+,; protected void btnSubmit_Click(object sender, EventArgs e) if (txtOldPass.Text = | txtNewPass.Text = | txtNewPass2.Text = ) RegisterClientScriptBlock(, alert(密码不能为空!);); else if (txtNewPass.Text != txtNewPa

33、ss2.Text) RegisterClientScriptBlock(, alert(两次输入的密码不同,请重新输入新密码!);); else int result = AdminHelper.Alter_adminPass(this.txtNewPass.Text.Trim(), SessionAdmin_Name.ToString(); if (result 0) RegisterClientScriptBlock(, alert(密码修改成功!请保管好并牢记新密码!);); this.txtOldPass.Text = ; this.txtNewPass.Text = ; this.t

34、xtNewPass2.Text = ; else RegisterClientScriptBlock(, alert(密码修改失败,请仔细检查您的输入是否有误!);); protected void btnReturn_Click(object sender, EventArgs e) Response.Redirect(adminIndex.aspx); /退出系统protected void Page_Load(object sender, EventArgs e) if (SessionAdmin_Name != null) SessionAdmin_Name = null; /清空用户

35、登陆信息 Session.Clear(); Session.Abandon(); /取消当前Session Response.Redirect(adminLogin.aspx); /重定向到登陆页面 3.3前台功能详细设计3.3.1 用户模块 用户注册5普通用户可以通过此页面进行注册,注册页面用了AJAX控件,异步判断用户名是否已经被注册, 并且输入密码时会有强度提示。图3.3.1前台注册界面关键代码如下:protected void btnRegister_Click(object sender, EventArgs e) string sex=RblSex.SelectedItem.Tex

36、t; string userDate = DateTime.Now.ToString(); int i = SQLHelper.Add_User(this.txtUserName.Text.Trim(), this.txtBlogName.Text.Trim(), this.txtPassword1.Text.Trim(), this.txtQuestion.Text.Trim(), this.txtAnswer.Text.Trim(), this.txtQQ.Text.Trim(), this.txtEmail.Text.Trim(), sex, userDate); if (i 0) Sc

37、riptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), scriptname, alert(注册成功!);, true); Response.Redirect(Login.aspx); protected void txtUserName_TextChanged(object sender, EventArgs e) string connstr = Server=PC-201110051440;DataBase=db_zzsyBlog;Integrated Security=True; SqlConnectio

38、n cn = new SqlConnection(connstr); cn.Open();SqlCommand cmd = new SqlCommand(select count(*) from Blog_User where UserName = UserName, cn); cmd.Parameters.Add(UserName, SqlDbType.NVarChar, 50).Value = txtUserName.Text.Trim(); int result = Convert.ToInt32(cmd.ExecuteScalar(); cn.Close(); if (result0)

39、 lbCheckResult.Text = 已经被注册; else lbCheckResult.Text = 可以注册; 用户登陆注册后用户就可以通过界面登陆自己的博客,登陆界面有记住密码的功能,点击后,下次登陆会自动判断,不用再次输入密码。图3.3.2前台登录界面关键代码如下:protected void ImaBtnLogin_Click(object sender, ImageClickEventArgs e) /登录 string result; string randomNum = null; try randomNum = SessionValidateNum.ToString()

40、; catch Response.Redirect(Login.aspx); if (this.txtYzm.Text.Trim()= randomNum.ToLower() result = SQLHelper.CheckLogin(this.txtUserName.Text.Trim(), this.txtPassword.Text.Trim(); if (result = | result = null) ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), scriptname,alert(密码错误

41、!);, true); else if (result = -1) ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), scriptname,alert(用户名不存在!);, true); else SessionUserName = txtUserName.Text.Trim();/将用户名存储到Session对象中 SessionUserID = result;/将用户ID存储到Session对象中 SessionArtuserid = result; if (CbRememPass.Checked) /设置Cookie对象的有效时间 Response.CookiesUserName.Expires = DateTime.Now.AddDays(30); Response.CookiesPassword.Expires = DateTime.Now.AddDays(30); /将用户的用户名跟密码存储到Cookie对象变量中 Response.CookiesUserName.Value

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号