基于ASP.Net技术实现网站新闻系统

时间:2022-07-08 12:09:07

基于ASP.Net技术实现网站新闻系统

摘要:本文以网站新闻系统的功能设计为例,详细介绍了技术的先进性,代码更易于编写,结构更清晰,程序的可靠性和稳定性有了很大的改善和提高,降低了系统的开发与维护的复杂度。

关键词:;网站;新闻系统

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)16-21313-02

Based on technology News Site System

LI Qian

(Lianyungang Technical College,Information Engineering College, Lianyungang 222006,China)

Abstract: The site features information systems designed for example, introduced the advanced nature of technology, code is easier to prepare, structural clarity, reliability and stability of the procedures have greatly improve and enhance and reduce the System development and maintenance of the complexity.

Key words: ; Site; news system

1 概述

传统的网站新闻管理方式有两种,一是静态HTML页面,此方式因效率太低已不多用。二是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。但由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取技术的系统性能上将有很大的改善,其主要表现在以下几方面:

(1)页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动,这使得在多次访问时速度有了极大的提升;(2)通过提供的DataGrid等数据库元件可以直接和数据库联系;(3)支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件;(4)采取"code-behind"方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。

2 系统开发原理

2.1 基于技术的系统结构模型

结构是一个三层系统:UI层、业务逻辑层和数据层。UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XMLWeb服务和组件服务组成;数据层是通过操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。

2.2 访问数据库的原理

与数据库相连,提供了3种方式:通过ODBC相连;通过OLEDB相连;直接与SQLServer相连。采取了断开连接方式的数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。的另一个创新是引入了数据集(Dataset)。

3 系统功能设计

工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询新闻,注册用户除了可以完成普通用户的操作外,还可以进入新闻管理模块进行新闻录入、修改和删除的操作。开发工具采用和DreamWeaver。

4 系统详细设计

系统的主要功能是通过几个功能模块来实现的。具体的设计过程如下:

(1)系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。

(2)新闻浏览:该模块负责分页列出网站所有新闻的信息,包括标题、类型、来源部门字段及日期,每条新闻的标题被做成一个超链接,点击即可跳转页面进行新闻阅读。

(3)新闻阅读:在其他页面中点击标题链接即进入新闻阅读页面。另外,页面其它位置可以动态放置如网站标志logo、页面广告banner等链接图片,实现图文并茂的阅读效果。

(4)新闻查询:该模块提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并输出查询结果。

(5)新闻管理:该模块负责分页罗列登录的注册用户曾过且未删除的新闻信息,用户可以对该条新闻进行删除、修改。

(6)新闻录入和修改:注册用户录入一条新闻所需要的内容,包含标题、关键字、类型、来源部门、日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。

5 开发模块及程序实现

5.1 构建数据库、表结构

使用SQL server 2000建立以下数据库jxdb,含以下两个数据表:

(1)数据表News:字段说明如下:(用户可以根据需要增减)

(2)数据表Reg:用于记录"注册用户"信息。字段说明如下:

5.2 程序实现

(1)登录页面(Login.aspx),系统将所有用户分为注册用户和访客两种:

i.注册用户,有新闻录入权限、管理新闻权限; ii.过客用户,能够进入新闻录入也面,但不具有录入和管理权限。

(2)录入页面(Write.aspx):

"注册用户"录入一条新闻所需要的内容,包含标题、关键字、类型、来源部门、日期等,同时从登录页面Login.aspx得到用户名,这些信息将被写入数据库中保存。此页面也被用作编辑状态下的"更新"页面,它将根据取得的Title字段值对页面控件初始化。

(3)浏览页面(View.aspx)

分页列出网站所有新闻的信息,包括标题Title字段、类型Type字段、来源部门Fromwhere字段及日期Datetime字段,每条新闻的标题被做成了一个超链接,点击它们将跳转到新闻阅读页面(Read.aspx);此页面还提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并使用此页面输出查询结果。

(4)管理中心页面(Manage.aspx):分页罗列登录用户曾过且未删除的新闻信息,用户可以对该条新闻进行删除、修改。非新闻者不具有对该条新闻的处理权限,所以不同用户进入此页面将显示不同的内容。

5.3 下面以系统登录页面的编写为例给出主要事件和函数,说明该系统的开发过程。

//IsRegUserOk函数:判断用户是否已经注册+密码是否正确

//建立/打开数据库连接

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();

//取得用户名的密码

//保留用户名+密码同时存在信息

bool isBothExist=drBoth.Read();

//关闭DataReader

drBoth.Close();

conn.Close();

//判断用户是否注册

//判断用户名与密码是否一致

//IsExistNews函数:判断新闻表中是否仍存有此用户过的新闻(下转第1355页)

(上接第1314页)

public bool IsExistNews()

{

SqlConnection conn=new SqlConnection();

conn.ConnectionString="server=(local);uid=sa;pwd=;database=jxdb";

conn.Open();

name=TextBoxName.Text.Trim();

//新闻表中是否存在此用户

string sql="select * from news where Name='"+name+"'";

DataSet ds=new DataSet();

SqlDataAdapter da=new SqlDataAdapter(sql,conn);

da.Fill(ds,"list");

//取得新闻行数

int count=ds.Tables["list"].Rows.Count;

//该用户是否过新闻

if(count==0)

return false;

else

return true;

conn.Close();

}

最后给出系统后端数据存储方案:两个必需的数据表,一是数据表News包含的字段有:编号、姓名、标题、关键字、内容、类型、来源部门和日期。二是数据表Reg包含的字段有:编号、姓名、密码、所属部门、电子邮箱和电话。利用MicrosoftSQLServer2000建立数据库及其存储过程。

参考文献:

[1] 天极网新技术研究室完全入门[M].重庆出版社,2001.

[2] ScottWorley著技术内幕[M].王文龙刘湘宁译.人民邮电出版社,2002.

[3] 丁晟春,王曰芬.网站新闻管理系统的设计与应用[M].现代图书情报技术.2002.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:TCP/IP协议的漏洞分析及防范 下一篇:基于数学形态学的虹膜定位算法