1.1课题的提出原因及意义越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了----博客。
随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。
个人博客的发展,也已经成为广告商业务拓展的重要领域。
本实验研究了一种基于数据关联规则的个人博客。
其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。
系统使用Microsoft公司以C#为核心语言的开发工具,再结合SQL Server 2005建立数据连接关系。
利用其提供的各种组件,在短时间建立数据库,对数据库进行分析与建立页面,不断改进,直到功能基本实现的可行系统。
本文的研究在一定程度上借鉴了互联网上博客的发展经验成果,系统的最终目的是通过为博客提供优质的互动交流平台,提高的知名度和访问量,从而获得为企业提供更多的产品介绍及发展的机会,提升自己的网络价值。
本实验报告主要介绍了本课题的开发背景、完成的功能和开发过程,并着重说明了开发设计的思想、技术难点和解决方案。
1.2博客简介在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
Internet 上发布信息主要是通过来实现的,获取信息也是要在Internet中按照一定的检索方式将所需要的信息从上下载下来。
因此建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
根据个人喜好开发了博客。
个人博客是当今网络的热点,个人博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体,Blog站点所形成的网状结构促成了不同于以往社区的Blog文化,Blog技术缔造了“博客”文化。
1.3博客需求问题分析对课题所研究的问题不是很明确,如其应用围,用户群体等。
通过老师的讲解及指导和查相关资料得以解决。
对于信息的安全性合法性的控制,原设为普通用户发布文章成功后,管理员后期发现非法的信息就可以撤除。
普通用户发布文章后也可以对自己的文章进行编辑、删除等操作,而其他人只可以查看该文章,不具有对文章的修改,删除权利。
1.3博客代码实现问题通过业务层的对象类调用数据库的存储过程,此过程中,因编程规及其他各种语法问题出现了很多错误,通过查阅资料学习得以解决。
第二章系统分析本课题为实现更加实用的,对做了详细的系统分析。
包括系统的需求分析、对开发用到的关键技术的介绍以及系统的可行性分析●普通用户⏹浏览文章⏹发表留言、评论2.1 采用的关键技术介绍2.1.1 简介是一个Web开发平台,提供了构建企业级应用所需的服务、编程模型和软件基础结构。
虽然的语法基本上与其前辈ASP(Active Server Page)兼容,但是是一个全新的编程框架,旨在用于快速开发Web应用程序。
作为平台的一部分,提供了一种基于组件的、可扩展的且易于使用的方法,用于购建、部署和运行供所有在浏览器或移动设备中使用的Web应用。
同ASP和其他Web开发环境一样,也是建立在HTTP协议之上的,它利用HTTP命令和策略进行双向的、浏览器到服务器的通信和协作。
真正使有别于其他Web开发技术的是它提供的抽象编程模型,即Web窗体模型。
此外,整个平台是 Framework的一部分。
应用是一些已编译的代码部件,由一些可重用且可扩展的组件组成,可以用第一类语言(包括、C#、Microsoft Visual 、Microsoft 和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环境,其用户操作页面友好,设置功能栏便于用户操作。
的基本操作如下:●普通用户⏹浏览博客文章⏹发表博客留言⏹发表对文章的评论⏹查询博客文章第三章系统设计概要3.1 系统总体设计3.1.1运行环境●操作系统:Windows NT/2000/XP/2003●安装Access2003●安装Visual 20053.1.2系统功能模块3.2数据库结构的设计博客系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括文章信息、文章目录信息和评论信息,各个部分的数据容又有在联系。
针对该系统的数据特点,可以总结如下的需求:1)文章信息记录作者发表的日志信息。
2)文章目录信息记录了文章所在的目录分类。
3)评论信息对应某个文章浏览者发表的评论。
经过上述需求总结,得出如下数据项和数据结构:1)文章信息,包括数据项有:文章容、标题等。
2)文章目录信息,包括数据项有:目录名称、目录描述等。
评论信息,包括数据项有:评论编号、文章编号、评论容等。
3.3 数据库逻辑结构的设计在博客系统中,首先要创建系统数据库,然后在数据库中创建需要的表和字段。
数据库命名为Blog,在这个数据库中管理系统中要建立5个表,分别是,用户信息表(ers),文章信息表(dbo.article),分类信息表(dbo.type),评论信息表(ment).博客表(dbo.blog)。
(1)用户信息表(Users)记录了用户的账号和密码,如下图所示:(2) 文章信息表(dbo.article)记录了文章的标题,容,发表时间,发表人等信息,如下图所示(3) 分类信息表(dbo.type),记录了文章的分类信息,如下图所示:(4) 评论信息表(ment),记录了其他用户对于该文章的评论容,评论时间,评论人等信息,如下图所示:(5)博客表(dbo.blog),如下图所示:第四章系统的展示4.1 系统开发环境●系统:Microsoft Windows 8.1●编程环境:Microsoft Visual Studio 2013 ●开发语言:C#●数据库: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)附加数据库文件本课题的根目录下(DB\blog)有数据库文件,运行前将.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///功能:截取指定长度的字符串///<param name="oText">源文本</param>///<param name="length">截取的长度</param>///<returns>按长度截取后的字符串</returns>///</summary>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从输入字符串中的第一个字符开始,用指定的替换字符串替换由指定的正则表达式定义的模式的所有匹配项。