新闻发布系统研究与开发.docx

上传人:b****7 文档编号:8959536 上传时间:2023-02-02 格式:DOCX 页数:18 大小:369.57KB
下载 相关 举报
新闻发布系统研究与开发.docx_第1页
第1页 / 共18页
新闻发布系统研究与开发.docx_第2页
第2页 / 共18页
新闻发布系统研究与开发.docx_第3页
第3页 / 共18页
新闻发布系统研究与开发.docx_第4页
第4页 / 共18页
新闻发布系统研究与开发.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

新闻发布系统研究与开发.docx

《新闻发布系统研究与开发.docx》由会员分享,可在线阅读,更多相关《新闻发布系统研究与开发.docx(18页珍藏版)》请在冰豆网上搜索。

新闻发布系统研究与开发.docx

新闻发布系统研究与开发

新闻发布系统研究与开发

摘要

ASP.NET是新一代Web应用程序开发平台,它是一个已编译的、基于.NET的开发环境,它提供了生成企业级应用程序所必需的全部服务,基于.NETFramework生成,整个框架都可用于任何ASP.NET应用程序。

可以使用任何与公共语言运行库(CLR)兼容的语言(包括VisualBasic.NET、C#和JScript .NET)来创建应用程序。

该系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率,具有一般新闻系统的功能,新闻发布系统组成模块包括:

新闻首页模块、新闻详细页面模块、新闻管理模块,新闻添加模块,四个模块有机结合,实现了用户在新闻的查询,删除等需求。

关键词 ASP.NET技术;SQLServer2005;B/S模式;

引言

ASP.NET是微软公司推出的一种基于Web开发平台,与数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。

ASP.NET的语法在很大程度上与ASP兼容,便于生成更安全、可伸缩和稳定的应用程序。

采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面:

●由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。

这使得在多次访问时速度有了极大的提升

●由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系;

●ASP.NET支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。

应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;

●ASP.NET采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。

第一章研究背景

1.1国内外研究现状及发展趋势

传统的网站新闻管理方式有两种:

一种是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用;另一种是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。

但是由于ASP技术本身的局限性使得系统有一些不可克服的缺陷。

ASP.NET不仅仅是下一版本的ASP(ActiveServerPages,动态服务器页面),而且是建立动态Web应用程序而重新打造的全新技术,其主要特色包括:

●语言的独立性;

●简单的开发操作,分离程序代码和网页内容;

●提高了执行效率;

●简化部署与组态的操作;

●支持客户端类型;

●支持下一代的Web服务;

●增进适用性;

●增进延展性;

●更多的支持工具;

●更佳的安全机制;

●会话(Session)可以跨进程、跨机器。

由于ASP.NET的众多优点,技术发展和各种客观实际的需要,该系统选用了ASP.NET来开发设计,实现了对新闻的动态管理操作,使得对新闻信息的发布与管理更加及时、高效,提高了工作效率。

1.2研究目的、意义和范围

随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。

其中新闻管理系统是构成企业网站的一个重要组成部分,它担负着双层作用:

一方面可以用来动态发布有关新产品或新开发项目;

另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群。

该系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。

该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。

该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,主要实现对校园新闻的发布与管理功能,对新闻内容信息的浏览阅读等。

随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系统)系统,正成为技术发展的趋势。

为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。

第二章课题分析

2.1需求分析

该系统的用户为校园网站,需要经常发布一些新闻,如何能有效地管理和发布新闻呢?

最初用户的需求为:

“该新闻系统具有一般新闻系统的功能,同时具有新闻审核和不同管理员不同管理权限的功能”。

通过对其它一些新闻系统的调查发现,一般新闻系统功能如下:

前台按分类显示新闻;

搜索新闻;

后台管理:

●添加、删除和修改新闻

●添加、删除和修改新闻分类

●对新闻进行分类显示,并对数据进行真分页

根据校新闻发布管理的实际需求,在首页中能显示最热门新闻、头条新闻和最近发布的几条新闻等,同时在后台发布新闻时可以添加新闻,查询不同类型的新闻。

根据以上需求分析,该系统要实现的主要功能为:

前台显示新闻部分

●显示最热门的前几条新闻

●显示推荐的前几条新闻

●显示最新的前几条新闻

●搜索新闻功能

●显示所有新闻分类(即部门)

●按分类/部门显示其下的所有新闻

●新闻详细信息浏览阅读

●添加、修改和删除新闻

2.2新闻系统的性能需求

该系统在性能功能上应达到如下需求:

操作简单、界面友好:

完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、新闻类型等只需要鼠标点击下拉框就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己当前所处的位置。

对常见网站的新闻管理的各个方面:

新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求;

即时可见:

对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;

系统运行应该快速、稳定、高效和可靠;

在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。

2.3运行环境要求

2.3.1设备

客户机硬件要求:

具有PentiumIII处理器以上且满足以下要求的计算机:

最低64MB内存,最小2.1GB硬盘。

服务器硬件要求:

具有PentiumIII处理器以上且满足以下要求的计算机:

最低256MB内存,最小8GB硬盘。

2.3.2支持程序

客户端

操作系统:

Windows2033/XP/WIN7或更高版本

浏览器:

IE8.0以上或Netscape同等版本以上

服务器

操作系统:

Win2003或者以上版本

Web服务器:

MSIIS

应用服务器:

IIS、COM+等企业级应用服务器

数据库:

SQL

第三章系统结构流程

3.1新闻系统的模型结构

该系统的模型结构如图3-1所示:

图3-1-1新闻系统的模型结构图示

该系统结构分为三个逻辑层:

Web层:

Web层为客户端浏览器提供对应用程序的访问,这一层是作为解决方案文件中的Web项目实现的。

Web层由ASP.NETWeb窗体和代码隐藏文件组成,Web窗体只是用HTML提供用户操作,而代码隐藏文件实现各种控件的事件处理程序;

业务层:

包含各种业务规则和逻辑的实现,业务规则完成如客户帐户的验证和字符串处理这样的任务;

数据访问层:

数据访问层为业务层提供数据服务,这一层是作为解决方案文件中的DBHelper类(数据访问类,实现公共操作的一个通用类)实现的;

第四章使用技术的介绍

4.1.NETFramework概述

.NETFramework是用于.NET平台的编程模型,其关键组件是公共语言运行库(CLR,CommonLanguageRuntime)和.NETFramework类库(包括ADO.NET、ASP.NET和Windows窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件。

.NETFramework旨在实现下列目标:

提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的;

提供一个将软件部署和版本控制冲突最小化的代码执行环境;

提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;

提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;

使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致;

按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。

公共语言运行库是.NETFramework的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。

事实上,代码管理的概念是运行库的基本原则。

以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。

.NETFramework类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创建的应用程序(如Web窗体和XMLWebServices)。

4.2ASP.NET、ADO.NET和C#语言简介

ASP.NET结构是一个三层系统:

UI层、业务逻辑层和数据层,结构模型如图

4-2-1所示:

图4-2-1ASP.NET的结构模型

●UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;

●业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。

它由Web表单、XML  WebServices和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;

●数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。

ADO.NET提供对MicrosoftSQLServer、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。

ADO.NET有两个核心组件:

DataSet和.NETFramework数据提供程序,后者是一组包括Connection、Command、DataReader和DataAdapter4个对象在内的组件,其组件结构如图4-2-2所示:

图4-2-2ADO.NET的组件结构图示

DataSet对象是ADO.NET的断开式结构的核心组件,实现独立于任何数据源的数据访问。

Connection对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。

Command对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。

DataReader对象从数据源中读取只进且只读的数据流。

DataAdapter对象是DataSet对象和数据源之间关联的桥梁,用数据源填充DataSet并解析更新。

设计ADO.NET组件的目的是为了从“数据操作”中分解出“数据访问”。

C#语言是.NET中一种崭新的语言,C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合VisualBasic的高效率和C++的强大功能。

第五章新闻系统的主要开发过程

5.1数据库设计

该系统使用SQL作为应用程序的数据库,建立了有两张数据表:

新闻类型信息表(NewTypeInfo),用于存储新闻的类型,新闻信息表(NewsInfo)用于存储新闻的内容。

NewTypeInfo表与NewsInfo表的TypeId字段相关联。

在两张数据表中,主要介绍一下新闻类型表和新闻表如下:

新闻类型表如图所示:

typeId为新闻类型编号,主键,标识,自增列,typeName为新闻类型名称

新闻信息表结构如下:

Id为新闻编号标识自增列,title为文章的标题,author为新闻发布的作者,content为新闻的内容,typeId为新闻的类型编号(外键)addTime为添加时间,默认为系统当前时间,hits为点击的次数,isChecked为是否通过审核

5.2各主要窗体页的图形界面介绍

首页:

主要功能是显示最热门、最新和推荐的前6条新闻,显示新闻搜索功能、页面风格设置、新闻的分类等;如下图所示:

新闻详细内容查看页:

在首页里点击新闻标题所进入的页面,显示当前所点击新闻的详细内容,新闻标题正中加粗显示,副标题显示发布的时间,作者,及点击次数;如图所示

新闻管理页面:

使用一个GridView用于显示数据库的新闻,并且使用分页控件,分页显示数据,当用户点击删除时,即删除该条记录,点击详细内容时,下面隐藏的Table显示

该条记录的详细信息,点击全选时,使所有的复选全部选中。

5.3页面的风格设计

为使该系统的页面美观多样,在设计时使用了8种样式风格。

为了在页面设计时方便调用,将其存储于数据库的Lb_Skins(风格样式)表中,各窗体通过调用style.css文件来设计界面外观。

CSS是CascadingStyleSheets(层叠样式表单)的简称,简称样式表,它是一种设计网页样式的技术。

CSS代码的基本语句结构为:

选择符{属性名:

属性值},选择符可以是HTML中任何的标签或自定义标识符,比如P、DIV、IMG甚至BODY都可以作为选择符。

CSS在HTML文档中有三种用法:

一种是把CSS文档放到文档中:

……;

另一种方法是采用的格式把样式写在任何html标签中的行内,这种方法比较方便灵活;

还有一种方法是:

把编辑好的CSS文档保存成“.CSS”文件,然后在中定义,定义的格式为:

……,和“rel=stylesheet”指连接的元素是一个样式表文档,“href=‘style.css’”指的是需要连接的文件地址。

这种方法非常适宜同时定义多个文档,能使多个文档同时使用相同的样式,从而减少了大量的冗余代码。

5.4系统配置

5.4.1Web.config文件配置

ASP.NET应用程序的配置功能放在Web.config文件中,它包含每一个具体Web应用程序的配置信息。

在程序运行时,ASP.NET使用分层虚拟目录结构的Web.config文件提供的配置信息为每个惟一的URL资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。

Web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于XML,每个配置文件都包含XML标记和子标记的嵌套层次结构。

新闻系统的Web.config文件中的配置:

通过键/值对key和value配置数据库连接的相关信息,将SQL数据库lbnews.mdf文件用相对路径的方式设置为字符串"MdbPath"在程序代码中进行连接引用。

5.4.2配置发布主页

首先要创建虚拟目录,新建虚拟目录的步骤如下:

●打开IIS(Internet信息服务),在默认网站上右击,在快捷菜单中选择新建—>虚拟目录;

●在弹出的虚拟目录创建向导对话框里点击“下一步”;

●输入虚拟目录别名;

●选择网站内容所在目录路径;

●设置“访问”权限。

在所建虚拟目录上右击,在弹出菜单中选择浏览,或在浏览器里输入相应网址,都可运行浏览程序。

虚拟目录不在目录列表中显示(也称为WWW服务的“目录浏览”),要访问虚拟目录,用户必须知道虚拟目录的别名并在浏览器中键入URL。

对于WWW服务,也可以在HTML页面中创建链接。

发布网站的时候,把程序首页的名字(index.aspx或default.aspx)写在IIS当中就可以访问了。

5.5系统部分重要功能及其代码

5.5.1通用类代码

在所有相关页面显示文件和Web用户控件的代码隐藏文件.aspx.cs或.ascx.cs中,通过对数据访问类的引用(以创建类实例方式),调用数据访问类里的相应函数完成相关功能,如建立数据库连接、打开和关闭数据库、对数据库执行查询、插入、删除和更新操作、页面登陆检验等

此处列举DBHelper类(数据访问类)中主要函数的源码

publicclassDBHelper

{

//获取当前连接对象

publicstaticSqlConnectionGetCon()

{

//连接数据库字符串

stringstrAccess=ConfigurationManager.ConnectionStrings["DBAccess"].ConnectionString;

//创建连接数据库对象

SqlConnectionsqlcon=newSqlConnection(strAccess);

returnsqlcon;

}

///

///定义一个用于增加、修改、删除的公共方法

///

///SQL语?

句?

///

///bool

publicstaticboolExecuteCommand(stringstrSQL,SqlParameter[]sp)

{

//定义一个标记,用于标记是否操作成功

boolflag=false;

//连接数据库

SqlConnectionsqlcon=GetCon();

//定义一个SqlCommand对象

SqlCommandsqlcom=newSqlCommand(strSQL,sqlcon);

//判断参数是否为空

if(sp!

=null)

{

//设置相关参数的属性

sqlcom.Parameters.AddRange(sp);

}

try

{

//打开数据库连接

sqlcon.Open();

//执行SQL语句,并返回受影响的行数

intnumExec=sqlcom.ExecuteNonQuery();

if(numExec>0)

flag=true;

}

catch(Exceptionex)

{

//抛出异常

throwex;

}

finally

{

//关闭数据库连接

sqlcon.Close();

}

//返回结果

returnflag;

}

///

///定义一个DataTable,用于查询

///

///SQL语句

///参数

///

publicstaticDataTableGetTable(stringsql,SqlParameter[]sp)

{

//定义一个DataTable

DataTabledt=newDataTable();

//连接数据库

SqlConnectionsqlcon=DBHelper.GetCon();

//定义一个适配器

SqlDataAdaptersda=newSqlDataAdapter(sql,sqlcon);

//判断参数是否为空

if(sp!

=null)

{

//设置相关参数的属性

sda.SelectCommand.Parameters.AddRange(sp);

}

//填充数据

sda.Fill(dt);

//返回结果集

returndt;

}

}

5.5.2添加发布新闻

添加发布新闻在该系统中显然起着很关键的作用,在添加新闻管理页面里,通过单击“添加”按钮执行新闻的添加,“添加”按钮的单击事件主要程序如下:

///

///添加

///

///

///

protectedvoidbtnAdd_Click(objectsender,EventArgse)

{

MODEL.newsmodel=newMODEL.news();//实例化Model实体类

model.Title=this.txtbiaoti.Text;

model.Author=this.txtzuozhe.Text;

inta=0;

//如果下拉框选中的不是”请选择”

if(this.ddlType.SelectedValue!

="==请选择==")

{

//获取用户输入的数据

a=int.Parse(this.ddlType.SelectedValue);

model.Typeid=a;

model.Contents=this.txtneirong.Text;

BLL.newsbll=newBLL.news();

//添加成功

if(bll.AddNewInfo(model))

{

ClientScript.RegisterStartupScript(this.GetType(),"提示","alert('添加成功|!

')",true);

//清空文本框

th

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1