博客网站的设计报告.doc_第1页
博客网站的设计报告.doc_第2页
博客网站的设计报告.doc_第3页
博客网站的设计报告.doc_第4页
博客网站的设计报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。成绩第一章 绪论1.1课题的提出原因及意义越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了-博客。随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。个人博客的发展,也已经成为广告商业务拓展的重要领域。本实验研究了一种基于数据关联规则的个人博客网站。其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。系统使用Microsoft公司以C#为核心语言的ASP.NET开发工具,再结合SQL Server 2005建立数据连接关系。利用其提供的各种组件,在短时间内建立数据库,对数据库进行分析与建立ASP.NET页面,不断改进,直到功能基本实现的可行系统。本文的研究在一定程度上借鉴了互联网上博客的发展经验成果,系统的最终目的是通过为博客提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多的产品介绍及发展的机会,提升自己的网络价值。 本实验报告主要介绍了本课题的开发背景、完成的功能和开发过程,并着重说明了开发设计的思想、技术难点和解决方案。1.2博客网站简介在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。根据个人喜好开发了博客网站。个人博客是当今网络的热点,个人博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体,Blog站点所形成的网状结构促成了不同于以往社区的Blog文化,Blog技术缔造了“博客”文化。1.3博客需求问题分析对课题所研究的问题不是很明确,如其应用范围,用户群体等。通过老师的讲解及指导和查相关资料得以解决。对于信息的安全性合法性的控制,原设为普通用户发布文章成功后,管理员后期发现非法的信息就可以撤除。普通用户发布文章后也可以对自己的文章进行编辑、删除等操作,而其他人只可以查看该文章,不具有对文章的修改,删除权利。1.3博客代码实现问题通过业务层的对象类调用数据库的存储过程,此过程中,因编程规范及其他各种语法问题出现了很多错误,通过查阅资料学习得以解决。第二章 系统分析本课题为实现更加实用的网站,对网站做了详细的系统分析。包括系统的需求分析、对开发用到的关键技术的介绍以及系统的可行性分析l 普通用户n 浏览文章n 发表留言、评论2.1 采用的关键技术介绍 2.1.1 ASP.NET简介 ASP.NET是一个Web开发平台,提供了构建企业级应用所需的服务、编程模型和软件基础结构。虽然ASP.NET的语法基本上与其前辈ASP(Active Server Page)兼容,但是ASP.NET是一个全新的编程框架,旨在用于快速开发Web应用程序。作为Microsoft.NET平台的一部分,ASP.NET提供了一种基于组件的、可扩展的且易于使用的方法,用于购建、部署和运行供所有在浏览器或移动设备中使用的Web应用。同ASP和其他Web开发环境一样,ASP.NET也是建立在HTTP协议之上的,它利用HTTP命令和策略进行双向的、浏览器到服务器的通信和协作。真正使ASP.NET有别于其他Web开发技术的是它提供的抽象编程模型,即Web窗体模型。此外,整个ASP.NET平台是Microsoft.NET Framework的一部分。ASP.NET应用是一些已编译的代码部件,由一些可重用且可扩展的组件组成,可以用第一类语言(包括、C#、Microsoft Visual Basic.NET、Microsoft Jscript.NET和J#)创建,并且可以访问.NET Framework中整个类的层次结构。 2.1.2 MySQL数据库简介MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。2.2 可行性分析采用asp技术进行开发,Asp技术相对于传统的html技术有着绝对的优势,支持数据库的读取大大减化了程序员的代码量,对程序员开发WEB应用程序提供了完备的技术支持。也使得开发出来的WEB应用程序具有更好的扩展性,能够运行于不同的操作平台之下。后台数据库采用MySQL 数据库,该数据库是一种开放源代码的关系型数据库管理系统, 因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。所以本次设计选择MySQL数据库。2.3 操作可行性网站运行于Windows环境,其用户操作页面友好,设置功能栏便于用户操作。网站的基本操作如下:l 普通用户n 浏览博客文章n 发表博客留言n 发表对文章的评论n 查询博客文章第三章 系统设计概要3.1 系统总体设计 31.1运行环境l 操作系统:Windows NT/2000/XP/2003l 安装Access2003l 安装Visual Studio.NET 20053.1.2系统功能模块我的博客系统浏览日志文章添加评论日志管理日志列表目录管理评论管理文章管理3.2数据库结构的设计博客系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括文章信息、文章目录信息和评论信息,各个部分的数据内容又有内在联系。针对该系统的数据特点,可以总结如下的需求:1) 文章信息记录作者发表的日志信息。2) 文章目录信息记录了文章所在的目录分类。3) 评论信息对应某个文章浏览者发表的评论。经过上述需求总结,得出如下数据项和数据结构:1) 文章信息,包括数据项有:文章内容、标题等。2) 文章目录信息,包括数据项有:目录名称、目录描述等。评论信息,包括数据项有:评论编号、文章编号、评论内容等。3.3 数据库逻辑结构的设计在博客系统中,首先要创建系统数据库,然后在数据库中创建需要的表和字段。数据库命名为Blog,在这个数据库中管理系统中要建立5个表,分别是,用户信息表(dbo.Users),文章信息表(dbo.article),分类信息表(dbo.type),评论信息表(ment).博客表(dbo.blog)。(1) 用户信息表(Users)记录了用户的账号和密码,如下图所示:(2) 文章信息表(dbo.article)记录了文章的标题,内容,发表时间,发表人等信息,如下图所示(3) 分类信息表(dbo.type),记录了文章的分类信息,如下图所示:(4) 评论信息表(ment),记录了其他用户对于该文章的评论内容,评论时间,评论人等信息,如下图所示:(5) 博客表(dbo.blog),如下图 所示:第四章 系统的展示4.1 系统开发环境l 系统:Microsoft Windows 8.1l 编程环境:Microsoft Visual Studio 2013l 开发语言:C#l 数据库:MySQL 20084.2 系统的页面设计4.2.1 登陆页面:4.2.2 首页的设计:4.2.3 文章内容显示页面:4.2.4 留言显示部分:4.2.5 文章内容编辑页面:4.2.6 博客注册页面4.3 系统部署 4.3.1 数据库设置(1)附加数据库文件 本课题的网站根目录下(DBblog)有数据库文件,运行前将.mdf文件附加上即可(2) 创建登陆用户用户在页面注册进行注册即可。 4.3.2 服务器端运行设置步骤(1)将文件目录复制到硬盘任意位置。(2)用MySQL数据库附加数据库文件。(3)用Visual Studio 20013 打开博客网站,按Ctrl+F5查看运行。第五章 博客设计的部分源码展示5.1 主页代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Text.RegularExpressions;using System.Data.SqlClient;namespace BLL public class index DAL.DB db = new DAL.DB(); public Model.article artc; public DataSet dsuser() string sql = select * from article where+artc.Auserid; return db.FillDataset(sql); public DataSet dsall() string sql = select * from article ; return db.FillDataset(sql); public DataSet dstype() string sql = select * from article where Atid= + artc.Atid; return db.FillDataset(sql); public string Uid() string sql=select * from article where Aid=+artc.Aid; SqlDataReader read = db.ExceRead(sql); return db.ExceString(read, Auserid); public bool delete() string sql = delete from article where Aid=+artc.Aid; return db.ExceSql(sql); public SqlDataReader DataReader() string sql = select * from article where Aid= + artc.Aid+; return db.ExceRead(sql); #region 截取字符串 / 名称:FixLengthString / 功能:截取指定长度的字符串 / 源文本 / 截取的长度 / 按长度截取后的字符串 / public static string FixLengthString(string oText, int length) string returnString = oText.Length length ? oText.Substring(0, length) : oText; return returnString; #endregion #region 去掉html标记 public static string NoHTML(string Htmlstring) /Regex.Replace从输入字符串中的第一个字符开始,用指定的替换字符串替换由指定的正则表达式定义的模式的所有匹配项。可指定选项来修改匹配的行为。 Regex htmlReg = new Regex(+, RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex htmlSpaceReg = new Regex( , RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex spaceReg = new Regex(s2,| ;, RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex styleReg = new Regex(style(.*?), RegexOptions.Compiled | RegexOptions.IgnoreCase); /删除脚本 Regex scriptReg = new Regex(script(.*?), RegexOptions.Compiled | RegexOptions.IgnoreCase); Htmlstring = styleReg.Replace(Htmlstring, string.Empty); Htmlstring = scriptReg.Replace(Htmlstring, string.Empty); Htmlstring = htmlReg.Replace(Htmlstring, string.Empty); Htmlstring = htmlSpaceReg.Replace(Htmlstring, ); Htmlstring = spaceReg.Replace(Htmlstring, ); return Htmlstring.Trim(); #endregion 5.2 博客登陆以及注册代码:namespace BLL public class Register public Model.Users Users; public Model.Commonality Commonality; DAL.DB db = new DAL.DB(); #region 检查用户名是否存在 / / 检查用户名是否存在 / / public int CheckName() string sql = select count(*) from Users where Uname= + Commonality.CheckName + ; DataTable dt = db.reDt(sql); if (dt.Rows00.ToString() != 0) return -1; else return 2; #endregion #region MD5加密 / / MD5加密 / / / public string GetMD5(string strPwd) string pwd = ; /实例化一个md5对象 MD5 md5 = MD5.Create(); / 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 byte s = md5.ComputeHash(Encoding.UTF8.GetBytes(strPwd); /翻转生成的MD5码 s.Reverse(); /通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得 /只取MD5码的一部分,这样恶意访问者无法知道取的是哪几位 for (int i = 3; i s.Length - 1; i+) /将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 /进一步对生成的MD5码做一些改造 pwd = pwd + (si 198 ? si + 28 : si).ToString(X); return pwd; #endregion public bool InsertUser() string sql = INSERT INTO blog.dbo.Users(Uname,Upwd,Uimg)VALUES(+Users.Uname+,+Users.Upwd+,+Users.Uimg+); return db.ExceSql(sql); public SqlDataReader DataReader() string sql = select * from Users where Uname= + Users.Uname + and Upwd= + Users.Upwd + ; return db.ExceRead(sql); /读取用户ID public String Uid() string sql = select * from Users where Uname= + Users.Uname + ; SqlDataReader read = db.ExceRead(sql); return db.ExceString(read, Uid); /读取用户图片 public String Uimg() string sql = select * from Users where Uid= + Users.Uid + ; SqlDataReader read = db.ExceRead(sql); return db.ExceString(read, Uimg); 5.3 文章内容显示代码:public class Article DAL.DB db = new DAL.DB(); public Model.article atcl = new Model.article(); public Mment comment = new Mment(); public Model.Users Users = new Model.Users(); public bool addArticlenoimg() string sql = INSERT INTO blog.dbo.article(Aname,Adetail,Atime,Auserid,Atid)VALUES( + atcl.Aname + , + atcl.Adetail + , + atcl.Atime + , + atcl.Auserid + , + atcl.Atid + ); return db.ExceSql(sql); public bool addArticle() string sql = INSERT INTO blog.dbo.article(Aname,Adetail,Aimg,Atime,Auserid,Atid)VALUES( + atcl.Aname + , + atcl.Adetail + , + atcl.Aimg + , + atcl.Atime + , + atcl.Auserid + , + atcl.Atid + ); return db.ExceSql(sql); public bool editArticle() string sql = UPDATE blog.dbo.articleSET Aname = + atcl.Aname + ,Adetail = + atcl.Adetail + ,Aimg = + atcl.Aimg + ,Atime = + atcl.Atime + , Atid = + atcl.Atid + WHERE Aid = + atcl.Aid; return db.ExceSql(sql); public bool editArticlenoimg() string sql = UPDATE blog.dbo.articleSET Aname = + atcl.Aname + ,Adetail = + atcl.Adetail + ,Atime = + atcl.Atime + , Atid = + atcl.Atid + WHERE Aid = + atcl.Aid; return db.ExceSql(sql); public DataSet ArticlDetail() string sql = select * from article where Aid= + atcl.Aid; return db.FillDataset(sql); public DataSet ArticlComment() string sql = select * from comment,Users where CAid= + atcl.Aid + and comment.Cuserid=Users.Uid ; return db.FillDataset(sql);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论