相关论文

ASP.NET〈计算机〉之网站新闻管理系统设〈CQVIP免费论文网〉计与实现

时间: 2009-10-18 5:41:57    作者: 佚名    来源:不详    查看:

作者:陈志华邓贵仕(大连理工大学管理学院系统工程研究所)【摘要】利用ASP.NET和ADO.NET技术开发之网站新闻管理系统,实现了网站新闻之动态管理,使得对信息之管理更加及时、高效,提高了工作效率。同时对系统之开发原理、系统之功能特点和设计方案进行了介绍。【关键词】ASP.NETADO.NET新闻...

  

 作者:陈志华 邓贵仕(大连理工大学管理学院系统工程研究所)
【摘要】利用ASP.NET和ADO.NET技术开发之网站新闻管理系统,实现了网站新闻之动态管理,使得对信息之管理更加及时、高效,提高了工作效率。同时对系统之开发原理、系统之功能特点和设计方案进行了介绍。
【关键词】ASP.NET ADO.NET 新闻 管理 数据库
随着Internet之普及,越来越多之企业建立了自己之WWW网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中新闻管理系统是构成企业网站之一个重要组成部分,它担负着双层作用,一方面可以用来动态发布有关新产品或新开发项目,另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠之工程项目、产品和服务,从而吸引顾客,扩大顾客群。
传统之网站新闻管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行之做法。但是由于ASP本身之局限性使得系统有一些不可克服之缺陷,而采取了ASP.NET技术之系统性能上有了很大之改善,其主要表现在以下几方面:
1.由于ASP页面每次打开都必须经过先编译后解释之过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大之提升。
2.由于ASP没有提供任何输出数据为内容之元件,所以在使用ASP撰写数据库页面时只能借助ADO之RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供之DataGrid等数据库元件可以直接和数据库联系。
3.ASP.NET支持应用程序之实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序之运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会温和地转换到新之版本。
4.ASP.NET采取"code-behind"方式编写代码使得代码更易于编写,结构更清晰,降低了系统之开发与维护之复杂度和费用。

1系统之开发原理
1.1 基于ASP.NET技术之系统结构模型
ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,如图1所示。

图1 ASP.NET之系统结构模型
UI层负责与用户交互,接收用户之输入并将服务器端传来之数据呈现给客户。
业务逻辑层负责接收浏览器传来之请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web服务和组件服务组成。其中Web表单是ASP.NET应用程序之核心所在,它是向客户呈现数据和信息之基础,也是响应和处理客户与显示之Web表单交互生成之信息和数据之基础。
数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
1.2 ADO.NET访问数据库之原理
与数据库相连,ADO.NET提供了如下3种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。3种方式由于应用层次之差异,使得效率由低到高,独立性由高到低。对于相连数据库之数据处理,也有2种方式,即一种是通过DataSet来隔离异构之数据源,另一种是以流方式从数据源读取(DataReader方式)。
传统之应用程序是通过先建立到数据库之连接,在程序之整个运行过程中维护连接之方式来设计之。ASP.NET采取了断开连接方式之数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求之网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。
ADO.NET之另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图之高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样之程序模板而被操作之,并且它使用相同之潜在之数据缓冲区。

2 系统之功能设计
2.1 系统之功能结构
该新闻管理系统可以在Windows 2000 Server操作系统平台上运行,Web服务器为IIS,数据库服务器为Microsoft SQL Server2000,开发工具采用之Microsoft Visual Studio .NET和DreamWeaver。图2给出系统之功能结构图。其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询新闻,注册用户除了可以完成普通用户之操作外,还可以进入新闻管理模块进行新闻录入、修改和删除之操作。注册用户除系统管理员外只能对自己录入之新闻进行删改操作。
2.2 系统之功能特点
(1)操作简单、界面友好:完全控件式之页面布局,使得新闻之录入工作更简便;许多选项包括新闻类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现之提示信息也让用户随时清楚自己之操作情况。
(2)即时可见:对新闻之处理(包括录入、修改、删除)将立即在主页之对应栏目显示出来,达到"即时发布、即时见效"之功能。

图2 系统功能结构图
(3)功能完善:包括常见网站之新闻管理之各个方面:新闻录入、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻之管理要求。
(4)方便移植:针对不同之企业,只需要稍作修改就可以开发出适合本企业特点之网站新闻管理系统!

3 系统之详细设计
系统之主要功能是通过几个功能模块来实现之。具体之设计过程如下:
⑴ 系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限之管理。
⑵ 新闻浏览:该模块负责分页列出网站所有新闻之信息,包括标题、类型、来源部门字段及发布日期,每条新闻之标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读。
⑶ 新闻阅读:在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新闻之详细信息将被取出,包括内容、标题、关键字等,并按照相对固定之格式放置在页面之不同区域,所有新闻使用大致相同之页面布局,只是各字段对应之内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂之阅读效果。
⑷ 新闻查询:该模块提供了新闻查询功能,输入待查找之内容及选定分类信息可以快速地找到符合条件之新闻,并输出查询结果。
⑸ 新闻管理:该模块负责分页罗列登录之注册用户曾发布过且未删除之新闻信息,用户可以对该条新闻进行删除、修改。非新闻发布者除系统管理员外不具有对该条新闻之处理权限,所以不同用户进入此页面将显示不同之内容。
⑹ 新闻录入和修改:注册用户录入一条新闻所需要之内容,包含标题、关键字、类型、来源部门、发布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。该模块还负责编辑状态下之更新,这时,它将根据取得之Title字段值对页面控件初始化。
下面以系统登录页面之编写为例给出主要事件和函数,说明该系统之开发过程。
//IsRegUserOk函数:判断用户是否已经注册和密码是否正确
public bool IsRegUserOk()
{
string name=TextBoxName.Text.Trim();
string pwd=TextBoxPassword.Text.Trim();
//建立/打开数据库连接
SqlConnection conn=new SqlConnection();
conn.ConnectionString="server=(local);uid=sa;pwd=;database=jxdb";
conn.Open();
//建立sql字符串
string sql="select * from reg where name='"+name+"'";
SqlDataReader dr;
SqlCommand cmd=new SqlCommand(sql,conn);
dr=cmd.ExecuteReader();
//保留用户注册与否信息
bool isRegUserExist=dr.Read();
//关闭DataReader
dr.Close();
//取得用户名之密码
string sqlBoth="select * from reg where name='"+name+"'";
sqlBoth+="and pwd='"+pwd+"'";
SqlCommand cmdBoth=new SqlCommand(sqlBoth,conn);
SqlDataReader drBoth;
drBoth=cmdBoth.ExecuteReader();
//保留用户名+密码同时存在信息
bool isBothExist=drBoth.Read();
//关闭DataReader
drBoth.Close();
conn.Close();
//判断用户是否注册
if(!isRegUserExist)
{
Response.Write("<script>alert('此用户尚未注册!')");
return false;
}
//判断用户名与密码是否一致
else if(!isBothExist)
{
Response.Write("<script>alert('用户名和密码不一致,不能进入!')");
return false;
}
else
return true;
}

最后给出系统后端数据存储方案:
利用Microsoft SQL Server 2000建立数据库及其存储过程。这里给出两个必需之数据表,一是数据表News包含之字段有:编号、姓名、标题、关键字、内容、类型、来源部门和日期。字段说明如下:

二是数据表Reg包含之字段有:编号、姓名、密码、所属部门、电子邮箱和电话。字段说明如下:

参考文献
[1]天极网新技术研究室.《ASP.NET完全入门》.重庆出版社,2001
[2]Scott Worley著.《ASP.NET技术内幕》.王文龙 刘湘宁译.人民邮电出版社,2002
[3]Sanjeev Rohilla, Senthil Nathan, Surbhi Malhotra著.《ADO.NET专业项目实例开发》.陈君 王宝良译.中国水利水电出版社,2003
[4]丁晟春 王曰芬.网站新闻发布管理系统之设计与应用.现代图书情报技术.2002,5
[5] http://www.aspxcn.com/


  


上一篇:利用PowerBuilder开发WEB应用
下一篇:学〈CQVIP免费论文网〉生档案管理系统ASP语言

网友评论

我来说两句

用户名:   验证码: 验证码,看不清楚?请点击刷新验证码