面向移动用户的在线BLOG系统

论文价格:0元/篇 论文用途:仅供参考 编辑:论文网 点击次数:0
论文字数:**** 论文编号:lw202379951 日期:2024-09-25 来源:论文网

  论文关键词:移动博客 WAP标准 手机 RSS XML

  论文摘要:目前,博客在互联网中的应用极其普遍,随着手机上网用户数量的不断上升,为了满足移动用户对信息的便捷性、广泛性、实时性、交互性的强烈需求,面向移动用户的在线BLOG系统的课题研究十分必要。

  面向移动用户的在线BLOG系统,是以手机为媒介、以个人信息为散发点的移动用户沟通平台。本系统依托于“河南中医学院记忆年轮系统”,并增加在线BLOG阅读器的功能,为移动用户搭建一个“随时随地记录心情、时时刻刻关注好友”的友好服务平台。

  该系统按照wap2.0标准,采用RSS聚合、XML、数据库等技术获得数据载体,借助移动开发相关技术通过移动设备把内容展现给移动用户。

  该课题完成后,移动用户就可以通过手机享受文字发布、阅览、评论 、收藏等移动服务,真正体验到“永不掉线”的感觉。

  1 引言

  1.1 课题的背景

  业界人士认为, 与单一的移动增值业务不同, 移动博客的出现开辟了网络社区交流和信息传播的新途径。网络社区形成的关键在于用户的广泛参与和互动。应当看到, 时下流行的彩信和WAP 等移动增值业务大都采用定制、下载的模式, 用户能够上传和参与的业务应用十分有限, 用户间的互动性不足, 而移动博客给人们提供了一个实时交流并能实现互动的平台。通过移动博客, 手机用户在自我愉悦的同时, 还可以吸引志同道合者参与其中, 与自己一起分享; 手机用户也可以随时随地通过多种方式阅读到其他博友的日志, 进行实时沟通。总之, 移动博客使得每个人都可以成为信息和新闻的制造者, 即使不会短信输入的手机用户也可以用照片、声音、录像等业务形式为移动博客提供信息内容。移动博客鼓励个人对信息内容的创作和发布, 鼓励个人成为媒体中心, 这将对“第五媒体”的发展产生巨大的推动作用。[1-5]

  1.2 课题的目标

  旨在开发一个面向移动用户的在线BLOG系统,其依托于“河南中医学院记忆年轮系统”,并增加在线BLOG阅读器的功能,为移动用户搭建一个“随时随地记录心情、时时刻刻关注好友”的友好服务平台。用户可以通过支持上网的移动设备访问该系统,随时随地记录心情、时时刻刻关注好友,还可以订阅自己感兴趣的博客。

  1.3 课题的意义

  该课题充分体现了移动互联网的移动性、用户定制性、随时性。该课题的研究,可以满足信息时代移动用户对信息的便捷性、广泛性、强实时性、强交互性的强烈需求,进一步推动移动互联网的发展。随着中国3G通信的启动,多媒体业务所倡导的“娱乐无限”内容将大行其道,现在,博客在互联网上的内容已经占据了相当大的比例,不久的将来,移动博客将作为“第二博客”出现,更符合随时随地拍照、上传照片、声音等自由秀的特点,更能诠释博客自由、个性化的一面。

  2 系统分析

  2.1 可行性分析

  移动博客除了很好的继承传统博客的开放性、草根性、互动性、原创性、个人性等特点,还具备了自身更强的新特点:便捷性、广泛性、强实时性、强交互性。这些优势使其具备了广泛的、符合时代需要的应用前景。[6-7]

  2.2 用户需求分析

  根据用户类型的不同,可以将移动用户分为个人用户、企业用户和媒体用户,下面从这3类不同用户的角度对移动用户需求进行分析:

  (1)个人用户分析

  根据CNNIC 的最新统计,我国网民数量已经达到了1.23 亿人,经常写博客的人已经达到了2800 万。随着用户服务要求的多样性和个性化越来越明显,一种随时随地写博客的需求逐渐浮出水面,最适合的最方便的途径就是移动手机,移动博客作为互联网博客的一种拓展应用逐渐发展起来了。目前,在专业移动博客网站139.com 上,移动博客正以每天1 万名新增用户的速度增加,其中有3000 人是纯手机用户,这些移动博客用户正在为能够时时上传自己的见闻而兴奋不已。

  (2)企业用户分析

  作为一种企业形象推广的补充手段,移动博客的企业推广效果的性价比相对较高。企业使用的移动博客从容量、稳定性、速度、以及提供的个性化功能等各种参数来讲要比个人移动博客高出一个级别。为此移动博客服务提供商可以向企业收取服务费用,企业也会很乐意支付相对比较低的推广费用。目前,移动博客这一媒体还没有得到国内企业的广泛关注,这可能和移动博客整体发展情况有关。

  (3)媒体用户分析

  国外的许多主流媒体已经开始介入移动博客这个新的领域。以纽约时报为例,他们就找了许多写手,以博客的形式为他们做报道,有的人将他们称作“商业博客”。这种微内容在一定程度上得到商业媒体的认可,因为移动博客让他们看到了微内容的商业价值,而在微内容的丰富性方面,商业媒体有很大的优势。[8-11]

  2.3 系统的主要技术分析

  该系统按照WAP2.0标准,采用RSS聚合、XML、数据库、API等技术获得数据载体,借助移动开发相关技术通过移动设备把内容展现给移动用户。技术具体分析如下:

  2.3.1 WAP2.0标准

  ⑴ WAP 2.0主要采用的技术:

   = 1 \* GB3 ① XHTMLMP。

采用XHTMLMP来扩展XHTML的基本用户简介,并能够按需要增加其他语言元素。

   = 2 \* GB3 ② TCP/IP传送协议移动简本。WAP 2.0 将推动业界为无线链路开发TCP移动简本。

   = 3 \* GB3 ③ Internet上运行的通用TCP互操作。

   = 4 \* GB3 ④ 移动友好技术:包括XHTML的简本; 层叠样式表(CSS)移动简本; 用户个性喜好和设备能力介绍等。

  ⑵ 与WAP 1.2相比,WAP 2.0主要体现在:

  ① 采用最新的Internet标准和协议,能优化网络带宽的利用以及基于数据包的全球无线网络的连接。

  ② 能对已有的WAP内容、应用和业务提供可管理的向后兼容性。

  ③ WAP 2.0XHTML MP,并支持WAP 1.x内容的WML。这些标记语言在发挥其独特优点的同时,为移动设备提供合适的内容业务。

  ④ 支持对WML 1.0的完全向后兼容。WML 2.0在WML 1.0增加了向后兼容的具体特性后对XHTML MP的扩展,可实现从WML 1.0到XHTML MP的名称、属性的转换。

  ⑤ 支持的图片格式有:GIF,JPEG,PNG,BMP、WBMP等。

  ⑥ 按照WAP2.0标准化组织提出的标准开发规范进行页面开发,例如:支持XHTML的简本,层叠样式表(CSS)移动简本,多媒体信息服务(MMS),WAP Push等。

  ⑦ 支持语言:支持内容标记语言、WWW Consortium(W3C)以XML(extensible markup language)为基础规定的兼容HTML的“XHTML Basic”,和CSS(cascading style sheets)样式单。

  ⑧ 支持协议:因特网标准的TCP/IP。

  2.3.2 WAP网站发布技术

  我所使用的服务器软件是微软的IIS6.0,操作系统是Microsoft Windows Server 2003。在IIS平台创建一个新的MIME类型。先选择WAP站点的属性,然后选择“HTTP头”标签。在“MIME类型”部分,点击“MIME类型”并且新建以下信息:

表 2.1 MIME类型信息表

扩展名


  2.3.3 RSS聚合技术

  RSS是一种XML方言,用于连锁Web内容和元数据.RSS文件由一个&<channel&>元素及其子元素组成.除了频道内容本身之外,&<channel&>还以项的形式包含表示频道元数据的元素,比如&<title&>、&<link&>和&<description&>.项通常是频道的主要部分,包含经常变化的内容.频道一般有3个元素,提供关于频道本身的信息:

  &<title&>:频道或提要的名称.

  &<link&>:与该频道关联的Web站点或者站点

  区域的URL.&<description&>:简要介绍该频道是做什么的.[12]

  2.3.4 XML数据存储技术

  XML(eXtensible Markup Language)是一种描述型的标记语言,与HTML同为SGML(标准通用标记语言,ISO-8879国际标准)的一种应用。由于XML在可扩展性、可移植性和结构性等方面的突出优点.它的应用范围突破了HTML所达到的范围。

  XML文档由标记和内容组成。XML中有六种标记:元素(elements)、属性(attributes)、实体引用(entityreferences)、注释(comments)、处理指令(processinginstructions)和CDATA段(CDATAsections)。XML与HTML最显著的不同是XML文档中引入了“文档类型声明”(Document Type Definition)。DTD使文档可以与分析器交流关于它的内容的元信息。DTD的出现,赋予了XML文档可扩展性、结构性和可验证性,使XML具备了类似于数据库的一些性质,可以利用XML来组织和管理信息;又可以与HTML一样在浏览器中方便地表示,在Internet上高效地传递和交换。 [13]

  2.3.5 数据库技术

  在SQL SERVER 中来开发数据库,我们可以用它的企业管理工具来建立数据库,也可以用它的SQL语言分析器(QUERY ANAl YZER)来建数据库,当建立好数据库以后,需要创建一个数据源,将该数据库作为一项服务出版到INTERNET或INTRANET上,以便JSP、ASP等程序以通过JDBC/ODBC等技术访问数据库。[14]

  2.4 系统的运行环境和开发工具

  ⑴ 计算机联入互联网

  ⑵ 系统要求:win2003+SQLserver2005+IIS6.0

  ⑶ 必需软件:手机模拟器+ActiveSync同步软件

  3 数据库设计


     图3.1 ER图 

  3.1 数据库结构设计

  3.1.1 概念结构设计

  3.1.2 逻辑结构设计

   见附录一。

  3.2 数据库结构实现

  见附录二。

  3.3 运用设计

  3.3.1 安全保密设计

  数据的安全性是指保护数据以防止因不合法的使用而造成数据的泄露、更改和破坏。这就要采取一定的安全措施。在数据库系统中,用检查口令等手段来检查用户身份,合法的用户才能进入数据库系统;当用户对数据库操作时,系统自动检查用户是否有权限执行这些操作。[15]

  为数据库MobileBlog建立一个用户“MB”。具体操作步骤如下: = 1 \* GB3 ①将SQL Server的身份验证模式设置为混合模式。以系统管理员身份登录,右击SQL Server服务器图标,出现快捷菜单,选择菜单项“属性”,出现SQL Server服务器属性配置窗口,选择“安全性”选项卡,选择身份验证方式为“SQL Server和Windows身份验证”,选择“确定”按钮。如图。 = 2 \* GB3 ②新建SQL Server登录帐号“MB”。打开对象资源管理器目录树,选择“安全性”——&> “登录名” ——&>“新建登录名”,在“常规”选项中输入登录名“MB”及密码。

  3.3.2 数据库完整性

  数据库的完整性是指防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。本数据库中的数据在插入前都是经过程序验证后正确的数据,在程序中实现具体的完整性控制。[15]

  4 程序结构设计

  4.1 总体设计


  4.1.1 系统物理结构图

    图 4.1 系统物理结构图


       图 4.2 系统总体流程图 

  4.1.2 系统总体流程图

  4.2 功能结构描述

  功能主要包括随便看看功能、好友功能、私信功能、消息功能、删除标签功能、添加标签功能、文章收藏功能、文章推荐功能和博客订阅功能,具体流程见附录三。

  4.3 核心代码

  见附录四。

  4.4 系统截图

  见附录五。

  5 测试

  5.1 测试的目的

  软件测试是为了发现程序中的错误而执行程序的过程。软件测试的概念发展比较迅速,正确认识软件测试的定义是十分重要。目前,国际上已对软件测试形成一个共识:软件测试就是在软件投入使用前,对软件的需求分析、设计规格说明和系统编码的最终复审。由此可见,软件测试的对象不仅仅是程序,需求规格说明、概要设计、详细设计、源程序都是软件测试的对象。[17]

  5.2 测试的方法与步骤

  由于该系统的用户群是持有移动设备的用户,因此该系统的测试分为开发调试测试和真机测试两个阶段。

  (1)开发调试测试

  在开发调试阶段,用真机进行测试不太现实。因此在开发用计算机上安装移动设备同步软件和手机模拟器,通过手机模拟器中的手机浏览器进行测试。

  具体流程见附录六。

  (2)真机测试

  开发调试完成后,可以将该系统进行正式部署试运行,用手机在手机浏览器输入网址,如果手机连入网络的话,就可以访问该网站,进行进一步的测试。

  6 总结

  面向移动用户的在线BLOG系统的开发,让用户通过手机就可以实现文字发布、阅览、评论 、收藏、服务管理。它将现有的互联网和电信增值业务完美结合,将1.23 亿互联网用户和4.26 亿的手机用户相结合,前景十分广阔。移动博客作为新生事物,通过产业价值链各环节的共同努力,移动博客的发展必将势如破竹,拥有巨大的发展空间和良好的发展前景。

  

参考文献

  [1] 移动博客开辟社区交流新天地[J].手机新应用,2008:32-33.

  [2] 胡忠青. 移动博客的传播优势与产业链商机[J]. 东南传播, 2006:55-57.

  [3] 陈潇. 移动博客——全新的手机娱乐[J]. 互联网天地, 2006:20-20.

  [4] 梁宏. 专访博客郑云深移动博客别样视角[J].多媒体世界, 2004:102-104.

  [5] 刘洪清. 风生水起“第五媒体”[J].青年记者, 2006 :13-14.

  [6] 刘衡萍. 移动博客市场分析及盈利模式探讨[J]. 通信世界, 2006:45-46.

  [7] 陈锦花,马凌. 移动博客开创全新体验[J]. 中国电信业, 2007:36-37.

  [8] 徐海燕.浅谈移动博客特点及发展基础[J].商业现代化, 2008(529):125-126.

  [9] 刘欣. 移动博客—3G流媒体的重要载体[J]. 数码世界, 2006(02):11-12 .

  [10] 新PICA打造个人移动博客[J]. 每周电脑报, 2007:4-5.

  [11] 陈锦花,马凌. 如何点燃移动博客市场[J]. 中国新通信, 2007:81-82.

  [12] 高鹏.BLOG中的RSS技术探究[J], 2008,25(2):61-62.

  [13] 何月梅,刘翠霞,温炎耿.基于XML高校存储数据信息的研究[J].商业现代化,2008,下旬刊(537):12-13.

  [14] 胡艳维.SQLSERVER数据库系统应用探讨[J].萍乡高等专科学校学报,2001(4):67-68.

  [15] 王珊,萨师煊. 数据库系统概论[M]. 北京市西城区德外大街4号:高等教育出版社,2006(5) :152-154.

  [16] 刘好增,张坤. ASP动态网站开发实践教程[M]. 北京:清华大学出版社,2007.

  [17] 胡琨,刘浩,刘涛.初议软件测试,江西 九江:241-242.

  [18] http://www.w3school.com.cn.

  [19] http://www.pdx.cn/.

  [20] http://www.csdn.net.

附录一 逻辑结构设计

表3.1:博客信息表

字段名称

字段类型

主外键约束

是否为空

字段描述

BlogID

Int

主键

博客编号

BlogURL

Char

博客网络地址

BlogXMLPath

Char

博客XML相对存储位置

SubCount

long

默认值为1

订阅次数

表3.2:用户评论表

字段名称

字段类型

主外键约束

是否为空

字段描述

ReviewID

Int

主键

自动编号

UserID

Int

用户编号

ItemGuid

Int

文章唯一标识

BlogID

Int

外键

文章所属博客的编号

ReviewDesc

Char

评论内容

ReviewTime

Date

评论时间

表3.3:用户收藏表

字段名称

字段类型

主外键约束

是否为空

字段描述

CollectID

Int

主键

自动编号

UserID

Int

用户编号

BlogID

Int

外键

文章所属博客的编号

ItemGuid

Char

文章唯一标识

CollectType

Int

收藏类型

CollectTime

Date

收藏时间

TagIDSet

Char

标签编号集


表3.4:用户标签表

字段名称

字段类型

主外键约束

是否为空

字段描述

UserID

Int

主键

用户编号

TagID

Int

外键

标签编号

UTUsedCount

Int

默认值为1

用户使用该标签的次数


表3.5:用户推荐表

字段名称

字段类型

主外键约束

是否为空

字段描述

RecoID

Int

主键

自动编号

UserID

Int

用户编号

ItemGuid

Int

文章唯一标识

BlogID

Int

外键

文章所属博客的编号

RecoTime

Date

推荐时间


表3.6:用户订阅表

字段名称

字段类型

主外键约束

是否为空

字段描述

UserID

Int

主键

用户编号

BlogID

Int

主键、外键

博客编号

SubTime

Date

订阅时间

表3.7:“用户—目录分类—博客”表

字段名称

字段类型

主外键约束

是否为空

字段描述

UCBID

Int

主键

自动编号

UserID

Int

聚集索引

用户编号

ClassID

Int

外键

分类编号

BlogID

Int

外键

博客编号

LastItemGuid

Char

上次阅读的最新文章的标识

表3.8:分类描述表

字段名称

字段类型

主外键约束

是否为空

字段描述

ClassID

Int

主键

分类编号

ClassDesc

Char

分类描述


表3.9:标签描述表

字段名称

字段类型

主外键约束

是否为空

字段描述

TagID

Int

主键

标签编号

TagDesc

Char

标签描述

TUsedCount

Int

默认值为1

被使用次数

表3.10:阅读统计表

字段名称

字段类型

主外键约束

是否为空

字段描述

BlogID

Int

主键 外键

文章所属博客的编号

ItemGuid

Char

主键

博文唯一标识

ReadCount

Int

默认值为1

阅读次数

附录二 存储过程的使用

use MobileBlog

--1、用户退订

If Exists(select name from sysobjects where name='CannelSubBlogProc' and type='p')

   drop procedure CannelSubBlogProc


create procedure CannelSubBlogProc(@userid int,@blogid int)

as

begin

   update BlogInfo set SubCount=SubCount-1 Where BlogID=@blogid

   delete from Sub where UserID=@userid and BlogID=@blogid

   delete from UCB where UserID=@userid and BlogID=@blogid

   delete from Recomm where UserID=@userid and BlogID=@blogid

end


exec CannelSubBlogProc 29,2


--2、检测用户是推荐或收藏过某个博客的某篇文章

If Exists(select name from sysobjects where name='RecomColleCheckProc' and type='p')

   drop procedure RecomColleCheckProc


create procedure RecomColleCheckProc(

@userid int,

@blogid int,

@itemid nvarchar(100)

)

as

set nocount on

begin

   select * from Recomm Where UserID=@userid and BlogID=@blogid and ItemGuid=@itemid

   If @@rowcount=0

     return 0

   else

     return 1

end

exec RecomColleCheckProc 29,1,'http://hi.baidu.com/limingxian177/blog/item/87542c35d7ce821790ef3934.html'


--3、检查TagDesc是否存在,并获得其TagID

If Exists(select name from sysobjects where name='GetTagIDPro' and type='p')

   drop procedure GetTagIDPro


create procedure GetTagIDPro(@TagID int output,@TagDesc nvarchar(50))

as

begin

   If exists(select TagID from Tag Where TagDesc=@TagDesc)

     begin

        update Tag set TUsedCount=TUsedCount+1 where TagDesc=@TagDesc

        Select @TagID=TagID from Tag Where TagDesc=@TagDesc

     end

   else

     begin

        Insert Into Tag (TagDesc) Values (@TagDesc)

        Select @TagID=TagID from Tag Where TagDesc=@TagDesc

     end

   return @TagID

end


--4、判断该用户是否用过该标签,如果用过的话,UTUsedCount加一,否则向UserTag表中插入一条新记录

If Exists(select name from sysobjects where name='CheckUserTagPro' and type='p')

   drop procedure CheckUserTagPro


create procedure CheckUserTagPro(@UserID int,@TagID int)

as

begin

   If exists(select * from UserTag where UserID=@UserID and TagID=@TagID)

     update UserTag set UTUsedCount=UTUsedCount+1 where UserID=@UserID and TagID=@TagID

   Else

     insert into UserTag (UserID,TagID) values (@UserID,@TagID)

end


exec CheckUserTagPro 29,5


--5、分离出TagID,更新Tag、UserTag表中的统计信息

If Exists(select name from sysobjects where name='UpdateTagPro' and type='p')

   drop procedure UpdateTagPro


create procedure UpdateTagPro(@UserID int,@TagID int)

as

begin

   update Tag set TUsedCount=TUsedCount-1 where TagID=@TagID

   update UserTag set UTUsedCount=UTUsedCount-1 where UserID=@UserID and TagID=@TagID

end


--6、用户删除收藏的文章

If Exists(select name from sysobjects where name='CancelCollectPro' and type='p')

   drop procedure CancelCollectPro


create procedure CancelCollectPro(

@UID int,

@BID int,

@IID nvarchar(100)

)

as

begin

   declare @Str nvarchar(50)

   declare @Pos int

   declare @NeedStr nvarchar(50)


   Select @Str=TagIDSet From Collect Where UserID=@UID and BlogID=@BID and ItemGuid=@IID

   select @Pos=patindex('%,%',@Str)

   While(@Pos&>0)

   Begin

     Select @NeedStr=Left(@Str,@Pos-1)

--    Print @NeedStr

     exec UpdateTagPro @UID,@NeedStr

     Select @Str=Right(@Str,Len(@Str)-@Pos)

     Select @Pos=patindex('%,%',@Str)

   End

   Select @NeedStr=@Str

--   Print @NeedStr

   exec UpdateTagPro @UID,@NeedStr

--   删除Collect表中的这条收藏记录

   Delete From Collect Where UserID=@UID and BlogID=@BID and ItemGuid=@IID

end


exec CancelCollectPro 29,3,'http://wanxun1987.blog.sohu.com/98354302.html'[18]


附录三 功能流程图
  
  

(1)随便看看功能     (2)好友功能
  
     

(3)私信功能       (4)消息功能
  
    

(5)删除标签功能     (6)添加标签功能

  
  

(7)文章收藏功能     (8)文章推荐功能

(9)博客订阅功能

附录四 核心代码

&<%

Function GetSourceInfo(url)

   dim xmlhttp,xmlget

   on error resume next

   Set xmlhttp=CreateObject("Microsoft.XMLHTTP")

   With xmlhttp

     .Open "GET",url,False

     .Send

     if .status&<&>200 then

         xmlget="false"

     else

         xmlget=bin2str(.responseBody)

     end if

   End With

   set xmlhttp=nothing

   GetSourceInfo=xmlget

End Function


Function bin2str(binstr)

   Const adTypeBinary=1

   Const adTypeText=2

   Dim BytesStream,StringReturn

   Set BytesStream=Server.CreateObject("ADODB.Stream")

   With BytesStream

     .Type=adTypeText

     .Open

     .WriteText binstr

     .Position=0  

     .Charset="gb2312"

     .Position=2

     StringReturn=.ReadText

     .close

   End With

   Set BytesStream=Nothing

   bin2str=StringReturn

End Function[19]


Function RexExpFunc(pat,str)

   Dim num,tempArr,i

   Set regEx = New RegExp

   regEx.Pattern = pat

   regEx.IgnoreCase = True

   regEx.Global = True

   Set matches = regEx.Execute(str)

   num=matches.Count

   If num=0 Then

     ReDim tempArr(1)

     tempArr(0)="0"

   Else

     ReDim tempArr(num)

     i=0

     For Each Match in matches

        tempArr(i)=Match.value

        i=i+1

     Next

   End If

   RexExpFunc=tempArr

End Function


Function GetRssURL(pat,str)

   Dim linkArr,b,hrefArr,hrefStr

   linkArr=RexExpFunc(pat,str)

   ReDim hrefArr(Ubound(linkArr))

   for b=0 to Ubound(linkArr)-1

     if linkArr(0)="0" then

        hrefArr(0)="0"

     else

        hrefStr=RexExpFunc("href=\&;quot.*?\&;quot",linkArr(b))

        hrefArr(b)=Mid(hrefStr(0),12,Len(hrefStr(0))-16)

     end if

   next

   GetRssURL=hrefArr

End Function[20]


Sub ShowChaDesc(URL)

   Set http=Server.CreateObject("Microsoft.XMLHTTP")

   http.Open "GET",URL,False

   http.send

   Set xml=Server.CreateObject("Microsoft.XMLDOM")

   xml.Async=False

   xml.ValidateOnParse=False

   xml.Load(http.ResponseXML)

  

   Set title=xml.getElementsByTagName("title")

   Set desc=xml.getElementsByTagName("description")

   Response.Write("标题:"&&title.item(0).text&&"&<br/&>描述:"&&desc.item(0).text&&"&<br/&>RSS地址:"&&URL)

End Sub


'取得远程文档并保存到本地

function getremotefiles(remotepath,localpath,filename)

   dim strbody

   dim filepath

   on error resume next

   strbody = getbody(remotepath)

   if right(localpath, 1) &<&> "\" then localpath = localpath && "\"

   filepath = localpath && filename

   if savetofile(strbody, filepath) = "true" and err.number = 0 then

     getremotefiles ="true"

   else

     getremotefiles ="false"

   end if

end function

'远程获取内容

function getbody(url)

   dim retrieval

   set retrieval = createobject("microsoft.xmlhttp")

   with retrieval

     .open "get", url, false, "", ""

     .send

     getbody = .responsebody

   end with

   set retrieval = nothing

end function

'重组文档名

function getfilename(remotepath, filename)

   dim arrtmp

   dim strfileext

   arrtmp = split(remotepath, ".")

   strfileext = arrtmp(ubound(arrtmp))

   getfilename = filename && "." && strfileext

end function

'将流内容保存为文档

function savetofile(stream, filepath)

   dim objstream

   on error resume next

   set objstream = server.createobject("adodb.stream")

   objstream.type = 1 '以二进制模式打开

   objstream.open

   objstream.write stream

   objstream.savetofile filepath, 2

   objstream.close()

   set objstream = nothing

   if err.number &<&> 0 then

     savetofile = "false"

   else

     savetofile = "true"

   end if

end function

'重写本地保存的RSS文档

Sub overWriteLocalRssFile(remotepath,localpath)

   dim strbody

   dim filepath

   filepath = localpath

   on error resume next

   strbody = getbody(remotepath)

   call savetofile1(strbody, filepath)

End Sub

Sub savetofile1(stream, filepath)

   dim objstream

   on error resume next

   set objstream = server.createobject("adodb.stream")

   objstream.type = 1 '以二进制模式打开

   objstream.open

   objstream.write stream

   objstream.savetofile filepath, 2

   objstream.close()

   set objstream = nothing

end Sub

'获得博客标题

Function GetBlogTitle(LocalPath)

   Set XmlObj= Server.CreateObject("Microsoft.XMLDOM")

   XmlObj.ASYNC=False

   XmlObj.Load(LocalPath)

   Set Title=XmlObj.GetElementsByTagName("title")

   GetBlogTitle=Title.Item(0).Text

End Function

'对博客文章内容进行处理

Function FormatDesc(Desc)

   Dim Result

   Result=Replace(Desc,"&<a href=","")

   FormatDesc=Result

End Function

'去掉所有的HTML标签

Function ReplaceHTMLTags(str)

Dim Re,Match,Matches,RetStr,Rep

Rep=""

RetStr=str

Set Re = New RegExp

Re.Pattern = "(&<[^{&>&<}]*&>)"

Re.IgnoreCase = True

Re.Global = True

Set Matches = Re.Execute(RetStr)

For Each Match in Matches

   RetStr=replace(RetStr,match.value,"")

Next

ReplaceHTMLTags=RetStr

End Function

'测试是否有符合匹配

Function RexExpCheck(pat,content)

   Set Re=New RegExp

   Re.Pattern=pat

   Re.IgnoreCase=True

   Re.Global=True

   RexExpCheck=Re.Test(content)

End Function

&<, , P&>'获得博客的文章信息

Function GetItemInfor(LocalPath,ItemGuid,Content)

   Dim a,LPath,Str

'   LPath=Server.MapPath("BlogXmlData")&&"\"&&LocalPath

'   因为Server.MapPath("BlogXmlData")所得的路径不一致,所以把从相对路径到物理路径的转化工作放到函数外边

   LPath=LocalPath

   Set XmlObj= Server.CreateObject("Microsoft.XMLDOM")

   XmlObj.ASYNC=False

   XmlObj.Load(LPath)

   Set Items=XmlObj.getElementsByTagName("item")

'   Author=XmlObj.selectSingleNode("author")

   For a=0 to Items.Length-1

     Set Link=Items.Item(a).getElementsByTagName("link")

     If Link.Item(0).Text=ItemGuid Then

        Set Title=Items.Item(a).getElementsByTagName("title")

        Set Desc=Items.Item(a).getElementsByTagName("description")

        If Content="0" Then

           Str=Title.Item(0).Text

        ElseIf Content="1" Then

           Str=Desc.Item(0).Text

'       ElseIf Content="2" Then

'           If Author is not nothing Then

'             Set Auth=Items.Item(a).getElementsByTagName("author")

'             Str=Auth.Item(0).Text

'           Else

'             Str=""

'           End If

''          Str=IsNull(Author)

        End If

        Exit For

     End If

   Next

   GetItemInfor=Str

End Function

%&>

&<%

   Dim objXMLHTTP

   Dim Message

   Dim user,pwd

   Dim url

   url="http://note.hactcm.edu.cn/api/"

   user=Session("user")

   pwd=Session("pwd")

   Message=Request.Form("mydo")

'   Response.Write(Message)

   Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

   objXMLHTTP.open "POST", url+"update.php","false",user,pwd

   objXMLHTTP.setRequestHeader "Content-Type","application/x-www-form-urlencoded"

   objXMLHTTP.send "status="+Message

   If objXMLHTTP.readyState=4 Then

     If objXMLHTTP.status=200 Then      

        If objXMLHTTP.ResponseText&<&>"false" then

'       Response.write(objXMLHTTP.ResponseText)

           Response.Redirect("Myindex.asp")

        Else

           Response.Write("发送失败")

        End If

     Else

        Response.Write("发送失败")

     End If

   End If

%&>

附录五 系统截图

        

(1)登录截图           (2)我的首页截图

        

(3)我的空间截图          (4)我的频道截图
          

(5)我的收藏截图          (6)我的好友截图

(7)随便看看截图


附录六 开发调试测试流程

第一步:

第二步:

图5.3还原WM6镜像文件

第三步:

第四步:

第五步:




第六步:

转贴于
如果您有论文相关需求,可以通过下面的方式联系我们
客服微信:371975100
QQ 909091757 微信 371975100