当前位置:文档之家› Web内容管理系统的设计与实现

Web内容管理系统的设计与实现

* 2010-08-16收到,2010-11-15改回** 基金项目:教育部精品课程建设项目资助。

***耿秀红,女,1981年生,硕士研究生,研究方向:计算机网络,辅助教学。

文章编号:1003-5850(2011)01-0032-03Web 内容管理系统的设计与实现Design and Realization of Web Content Management耿秀红 闫宏印(太原理工大学计算机科学与技术学院 太原 030024)【摘 要】针对网站开发工作中,重复利用率低、可扩展性差等缺点,借鉴当今流行的内容管理的思想,以精品课程网站的开发为例,在.net 框架基础上采用M VC 模式设计并实现了一个Web 内容管理系统,不仅可以快速创建精品课程网站,还可以方便地管理网站的各种资源。

系统将数据处理和页面显示完全分开,具有良好的可扩展性和灵活性,大大提高了网站的开发效率和软件重用性。

【关键词】内容管理系统,存储过程, ,M VC 模式中图分类号:T P 311.1文献标识码:AABSTRACT T his paper analy zed t he defects in developing the website ,fo r instance ,the lo w er reusability and the wea ker ex pansibility ,studyed the ideas of t he co nt ent management w hich is popular to day ,ta king the ex quisite course w ebsite as an ex ample and on the basis of the .N ET F ra mewo rk and ado pting M V C m ode ,designed and r ealized a co ntent managem ent sy stem for auto -gener ating exquisite cour se w ebsite .T he system separ ates the data -pr o cessing fr om page display co mpletely and possesses the g oo d ex pansibility and flex ibilit y and enhances the dev elo ping efficiency of t he website a nd the r eusabilit y o f the soft war e gr eatly.KEYWORDS co nt ent management system ,sto red pro cedure ,A SP.N ET ,M V C mode 2003年教育部正式启动了“高等学校教学质量与教学改革工程精品课程建设项目”,将各个学科的优秀课件在网上开放,方便基于互联网的远程学习、浏览和下载,旨在实现优质教学资源共享,提高高等学校教学质量和人才培养质量。

精品课程建设是高等学校教学质量与教学改革工程的重要组成部分,其重要工作就是建立精品课程网站。

传统的Web 网站建设方法存在诸多弊端,如框架结构维护复杂,不易修改;页面设计工作量大,需要大量人力投入等。

而且,如果为每一门精品课程都独立建一个网站,则需要网站建设人员重复编写程序代码,势必造成大量人力物力及时间的浪费。

内容管理系统的出现使得只需录入文字和上传图片即可实现网站的快速创建、更新和维护工作,从而大大提高了系统的复用性和网站的开发效率。

鉴于此,本文设计并实现了一个Web 内容管理系统,不仅可以快速创建精品课程网站,还可以方便地管理网站的各种资源,从而避免了网站开发中大量的重复劳动和资源的浪费。

1 CM S 概述内容管理系统(Content M anagement System ,简称CM S )是专门面向互联网站内容编辑与发布的应用系统。

其中,“内容”[1,2]指的是各种结构化数据和非结构化数据的信息聚合,可以是文本、图形图像、Web 页面、业务文档、数据库表单、视频文件和音频文件等;“管理”则是对“内容”进行的相应处理流程,目的是为了使“内容”能够在正确的时间、以正确的形式传递到正确的地点和人。

CMS 将内容和内容表现形式有效地分离:将页面设计存储在模板里;将内容以可管理的“块”或组件的形式存储在数据库或独立的文件中。

当用户访问一个页面时,服务器端接受http 请求,根据请求将这些“块”或组件进行访问、组合,生成一个标准的Web 页面。

使用CM S 有助于减少网站维护的工作量,降低开发网站的复杂性,规范网站后台信息的管理和发布流程,从而使网站的运营管理和内容维护变得简单、快捷。

内容管理从2000年开始成为一个重要的应用领域[3],许多学者和研究人员都对其进行了深入的研究。

目前,无论在国内还是国外,内容管理产品都正处于开发应用的黄金时期。

2 系统设计2.1 开发工具及运行环境微软公司推出的.N ET 框架采用了面向对象技术,提供了功能强大的基础类库[4],任何.NET 开发人・32・(总36)W eb 内容管理系统的设计与实现2011年 员都可以方便的使用。

ASP .NET 是一个已编译的、基于.NET 的环境,可以用任何与.NET 兼容的语言(包括Visual 、C#和)创建应用程序。

实现的动态页面将页面显示与控制代码分开(页面显示放在.aspx 文件中,控制代码放在.cs 文件中),使得程序逻辑更加清晰,更便于维护。

基于ASP .NET 的技术优势,本系统以Visual Studio 2008为开发工具、C #为编程语言、SQL Server 2008为数据库,以Internet 信息服务器(IIS )作为Web 服务器,客户端使用Fir efox 、Opera 、M icr oso ft Internet Ex plorer 6.0或更高级版本的浏览器。

2.2 设计模式M VC 设计模式的组成分解为Mo del (模型)、View (视图)、Controller(控制器)等三个部分,允许组成每个部分的各个组件间松散的耦合。

这种思想适合于CM S 中内容和形式分离的需求,很好地实现了数据层与表示层的分离,它以控制为中心并使得应用更具有扩展性。

而且,三层体系结构又缩短了系统的开发周期,使系统的可伸缩性更强。

M VC 设计模式在整个内容管理系统的体现如图1[5,6]所示。

2.3 功能设计2.3.1 用户管理本系统提供了完善的用户管理和用户权限设置功能,对每一级别的用户权限都作了精心的设计。

根据不同的权限可以分为三种。

访问用户:即网站的所有浏览者,该类用户可以查看网站发布的各类信息,下载自己感兴趣的教学资源,发表对网站的建议或评论。

内容管理员:即网站系统所有内容的生产者,该类用户在一定的规则、过程、工作流的限制下,对网站各种类型的内容进行创建、编辑、审核、发布、删除等操作。

系统管理员:是系统的管理者,此类用户具有添加或删除网站管理员、分配或撤销管理员的某种权限,设置网站全局的模板等基本管理功能。

2.3.2 栏目及内容管理栏目依附于站点而存在。

一个栏目相当于是一个文件夹或者一个分类,在前台页面中表现为导航菜单,可以具有父子关系,达到无限个层级,形成栏目树。

添加栏目之后,再分别为每个栏目添加相应的内容模块(模块个数不限)。

当客户端对某个页面发出请求时,服务器将属于该栏目的各个内容按次序加载到模板(栏目的显示样式)的相应位置,构成一个完整的HTM L页面呈现在用户面前。

2.3.3 资源管理开发精品课程网站的目的之一就是方便用户进行远程学习,因此,本系统需要提供教学资源的上传和下载功能。

本系统采用文件服务器的方式,将上传的文件存放在服务器上指定的某个文件夹下,数据库中仅保存文件相应的下载路径。

这样,当用户下载文件时,直接从文件服务器上下载,大大减轻了数据库服务器的负担,提高了系统的性能。

2.3.4 其他功能本系统提供在线留言功能以便用户发表意见或提问。

在后台管理中,由相应的课程负责人负责查看并回复留言。

此外,还提供了网站参数设置(如联系电话、邮箱地址等)和添加友情链接的功能。

2.4 数据库设计对系统体系结构及主要功能分析之后,设计的数据库包含以下数据表见表1。

表1 数据表说明表名说明user 系统管理员和内容管理员的相关信息cour se课程信息(如课程名称、模板名称、主题样式)ch ann el 网站栏目的相关信息content 每个栏目所包含的内容信息message 访问用户的留言信息及管理员的回复内容par as 网站参数的相关信息(如管理员联系方式等)res ource 便于用户下载的教学资源信息friendlink申请友情链接的网站信息 本系统服务器端采用存储过程实现对数据的访问,执行与数据有关的一切操作,再将结果传给客户端。

存储过程是一组为了完成特定功能的SQL 语句的集合,经过编译后存储在数据库中,其执行速度比普通的SQL 语句执行快[7]。

在与数据库交互时只需指定存储过程的名字并给出所需参数即可。

3 系统主要功能的实现系统的核心功能是对网站内容的管理,如添加、编辑、删除等。

本小节就以网站内容的添加功能为例,说明系统功能的实现,以下是详细代码。

・33・ 第24卷 第1期电脑开发与应用(总37)3.1 创建存储过程打开SQLServer ,创建新的存储过程,代码如下:CREA T E P ROCEDU RE contentA dd ……//此处添加存储过程所需的参数A S BEG IN IN SERT IN T O moduleContent V A LU ES ( ……//对应的存储过程参数 )EN D3.2 执行存储过程动态W eb 程序需要与数据库进行交互,因此将执行存储过程代码放在公共类中,以供各个模块调用,可提高代码的重用率。

Ex ecutePro c 函数的具体实现如下:创建SqlConnection 对象,用于进行数据库连接:SqlConnectio n co nn;conn =new SqlConnectio n (connectionstr ing );创建SqlCo mmand 对象,并指定其命令类型为存储过程,用于执行具体的SQL 语句:SqlComma nd cmd ;cmd =new SqlCommand (pro cedur ename ,conn );mandT y pe=Co mmandT y pe.Sto redPr ocedur e;cmd.Par ameter s.A dd(par a);cmd.Ex ecuteN onQ uery ();此函数实现对数据库的访问,所需传入的参数为存储过程名称和存储过程需要的参数集合,返回结果为受影响的行数。

相关主题