




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩第一章绪论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 博客代码实现问题通过业务层的对象类调用数据库的存储过程,此过程中, 因编程规范及其他各种语法问题出现了很多错误,通过查阅资料学习得以解决。第二章系统分析本课题为实现更加实用的网站,对网站做了详细的系统分析。包括系统的需求分析、对开发用到的关键技术的介绍以及系统的可行性分析普通用户浏览文章发表留言、评论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.netframework的一部分。asp.net应用是一些已编译的代码部件,由一些可重用且可扩展的组件组成,可 以用 第一类语 言( 包括 、 c# 、 microsoftvisualbasic.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环境,其用户操作页面友好,设置功能栏便于用户操作。网站的基本操作如下: 普通用户浏览博客文章发表博客留言发表对文章的评论查询博客文章第三章系统设计概要3.1 系统总体设计31.1 运行环境操作系统: windows nt/2000/xp/2003安装 access2003安装 visual studio.net 2005我的博客系统精品资料浏览日添加评日志管日志列3.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 系统开发环境系统: 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)附加数据库文件本课题的网站根目录下(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 bllpublic class indexdal.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();#endregion5.2博客登陆以及注册代码:namespace bllpublic class registerpublic 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;elsereturn 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;#endregionpublic bool insertuser()string sql = insert intoblog.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 articledal.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 intoblog.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 intoblog.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 +whereaid = + 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 + whereaid = +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 + andcomment.cuserid=users.uid ;return d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃幕墙供货及安装合同
- 银行柜员个人工作总结
- 2024放射医学知识题库
- 糖尿病酮症的护理查房
- 走出自卑心理健康
- 儿科支原体肺炎诊疗与护理
- 儿科临床护理病例分享
- 自主游戏的培训
- 安全班委培训
- 装修市场培训方案
- 材料设备进场计划及保证措施
- 机械加工价格表
- 2025年上半年云南省昆明市公安局交通警察支队招聘勤务辅警200人易考易错模拟试题(共500题)试卷后附参考答案
- 医用耗材采购风险管理工作总结
- 催收员26种施压话术集合5篇
- 承包经营合同(2024版)
- CCFA:2024年中国零售数字化及新技术应用创新案例
- 考研学习笔记 《国际贸易实务》(第6版)笔记和课后习题(含考研真题)详解-1-200
- UL1741标准中文版-2020逆变器变流器断路器UL标准中文版
- 无人机在坦克战中的火力支援研究-洞察分析
- 四川省树德中学2025届高三下学期一模考试数学试题含解析
评论
0/150
提交评论