新闻发布系统设计

新闻发布系统设计[java毕业论文下载]

中文摘要:对于一个商业网站,一个新闻发布系统是必不可少的,新闻发布系统其实可以理解为一个公告板,用来发布网站或管理员的公告信息,当然就其本意来说也可以用来转载各大网站的新闻,做一个新闻网站也未尝不可。其实现的方式也是比较简单的,基本上是留言本或BBS,也包括写入、读取、管理等功能模块,但留言本是面向浏览者的,基本上是浏览者留言给管理员看,而新闻发布系统则相反,一般是管理员发布新闻公告,给浏览者看,这其实只是权限的区别,写入,读取等功能实现方式还是差不多的。根据系统功能的需要,新闻发布系统可以分为:新闻发布模块、新闻列表模块、新闻管理模块、新闻修改模块、新闻删除模块以及用户管理模块。

 

关键词:ASP、新闻发布系统、Access2000数据库、 HTML语言

 

 

 

 

 

Abstract:Regarding a commercial website, a news issue system’s essential, the news issued the system actually may understand is an announcement board, uses for to issue the website or manager’s announcement information, certainly on its original intention said also may use for to reprint each big website the news, makes a news website not to also have may not. Its realization way also is quite simple, basically is the message this or BBS, also includes reads in, reads takes, function module and so on the management, but the message originally is faces the browsing, basically is the browsing message looked to the manager, but news issue system then is opposite, generally is the manager issued the news announced, looked for the browsing, this actually is only the jurisdiction difference, reads in, reads takes and so on the function realization way similarly or. According to the system function need, the news issued the system may divide into: The news issued the module, the news tabulate the module, the news administration module, the news revision module, the news deletion module as well as the user administration module.

 

Key  WordsASP  news issue system  Access2000 database  HTML language

 

 

 

 

目   录

一、  后台数据库的配置

二、一个完整的新闻发布系统

(一)  新闻发布模块

(二)  数据库连接和公共函数存放模块

(三)  保存添加模块

(四)  新闻列表模块

(五)  新闻内容显示模块

(六)  新闻管理模块

(七)  新闻修改模块

(八)  保存修改模块

(九)  新闻删除模块

(十)管理员登录、注销模块

三、改善的新闻发布系统

(一)  发布和修改模块文件的整合

(二)  保存处理模块文件的整合

(三)  增加管理员修改增删模块

注释、

参考文献、

致谢辞

 

 

新闻发布系统

一、  后台数据库的配置

后台数据库可以使用SQL Server 或Access,数据据库服务器和Web服务器可以配置在同一台计算机上也可在两台计算机上,以上两种情况对于开发的过程来说是类似的,只需在Web 服务器上配置好ODBC的系统数据源就可以了。系统是在Windows XP Professional下开发的,开发数据库使用的是 Access2000。具体配置步骤如下:

1.新建一个空数据库,取名为news.mdb

2.在news.mdb中建立表admin、news、,数据表的结构。

3.在admin表中初始化数据如图。

 

图1 admin表中初始化数据图

建立一个ODBC数据源,名称为news,指向news.mdb,步骤如下:

首先,选择“控制面板”中的“ODBC数据源管理”选项,选择“系统DSN”选项卡,单击“添加”按钮。

在“创建新数据源”窗口中,选择“Driver do Microsoft Access(*.mdb)”作为数据库驱动程序,然后单击“完成”按钮。

在“ODBC Microsoft Access安装”窗口中,数据源名称为“news”,这是ASP程序中将要引用的。单击“选择”按钮,从弹出的文件窗口中选择newdata.mdb文件所在的位置,其他先项都不改变。以上如图所示:

 

ODBC数据源管理器(图2)

 

  选择数据库驱动类(图3)

                             填写数据源信息(图4)

单击“确定”按钮,这样就完成了Access数据库的ODBC数据源设置

 

二、一个完整的新闻发布系统

一个新闻包括标题、新闻内容和发布时间,当然也可以加入信息发布者等内容。而一般新闻公告不止一条,需要一个页面列出新闻标题(list.asp),浏览者单击相应标题进入详细内容浏览页(display.asp),这两个页面已经实现了客户端浏览新闻的基本功能:而一个完整的新闻发布系统,还需要完善的后台管理系统(admin.asp);此外系统除了实现最基本的新闻发布(add.asp、saveAdd.asp)功能外,还需要具有修改(modify.asp、saveModify.asp)、删除(del.asp)等功能;出于信息安全以及权限管理的考虑,还需要一个管理员登录页面(login.asp)来验证管理员身份,同时还需要一个注销页面(logout.asp)

 (一)  新闻发布模块

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

新闻系统文件结构(表1)

数据库采用Access数据库,建立一个表new,包含id、title、 content 、addtime等4列,其定义和含义如表所示。

列名

数据类型

说明

id

自动编号

主键

title

文本

新闻标题

content

备注

新闻内容

addtime

日期/时间

发布时间

(表2)New表的结构

 

新闻发布模块界面如图

新闻发布模块的文件(add.asp)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 (图5)

上面主要是一个addform的表单,加上了javascript表单数据验证功能。其实这个文件可以是一个html文件,不需要ASP代码,但发布新闻属于管理模块,只有管理员身份才能进入并操作,所以需要在开始时加上下面这段管理员权限判断代码验证管理员是否登录。

<%

If session(“open”)<>true then

Response.redirect ”login.asp”

End if

 %>

这里用一个session变量open值的真假来判断是否登录,如果为真就执行下面代码,为否就转向login.asp页面要求登录,这样就保证了管理权限。至于open变量是如何被赋值的,将会在下面的管理员登录模块(login.asp)中介绍。

关于表单数据难在前面的章节中已有详述,这里就不再多做说明,只要将里面的名称,就是稍做改动就可以拿来套用。

(二)  数据库连接和公用函数存放模块

写下面模块之前要先写一个存放数据库打开、关闭函数的include文件,以方便在后面需要数据库操作的模块调用,并且将几个常用的公用函数也放进来,以减少代码重复率。

数据库连接和公用函数存放模块(conn.asp)

<%’打开数据库

dim conn,rs

set conn=server.CreateObjict(“adodb.connection”)

DBpath=Sever.MapPath(“data/news.mdb”)‘设定数据库所在的路径以及数据库名称

conn.open=”provider=Microsoft.jet.oledb.4.0;data source=”&DBpath

Set rs=Server.CreateObject(“ADODB.RecordSet”)

 ‘关闭数据库

sub closeDB()

IF IsObject(conn) Then

if not (conn is nothing ) then

set rs=nothing

conn.close

set conn=nothing

end if

End if

end sub

%>

以的事将这个文件包括到各个文件头中,可以方便调用函数,这是写网页程序最常用的做法,应该好好掌握。关于格式化广西和分页显示两个函数将在后面用到时再做详细说明。

(三)  保存添加模块

新闻发布模块中表单addform的action指向saveadd.asp文件,就是以这个文件保存添加操作。

由于已经在add.asp里对表单数据做了验证,因此在存储过程里做些简单的处理就够了,然后将新闻写出入数据库,最后转达向list.asp。当然现在还没list.asp文件,填写好符合要求的标题和内容单击“提交”按钮后浏览器会提示找不到该文件,但数据已经加入到了数据库中,读者可以打开数据库,查看一下news表,数据已经存在了。

(四)  新闻列表模块

接下来就写list.asp,这个模块相当于BBS的贴子列表,从数据库存里读取数据(包括新闻标题和发布时间),然后在页面中列出,这里不需要用到分页函数。这里先解释一下这个分页函数,函数需要传入4个变量——allpages、viewpage、pageurl、pp,分别代表总页数、当前页数、调用文件的地址以及最多显示页码数(当记录和页数很多的话,页码不能全部显示出来,否则会破坏页面结构),而allpages、viewpage所对应的就是recordset对pagecount和absolutepage值,接下来的代码一其实是控制显示最多页码数。读者可以仔细俯一下其中的逻辑关系,这个函数的通用性很高,基本上可以应付所有分页要求。不过要注意的是,这个函数本身是一个字符串,所以调用时在前面要加上response.write 语句,当然读者也可以改进一下,比如将”pagecute=”改为response.write,那么调用时不用另外再加了。

新闻列表模块(list.asp)这里主要是pageno变量,if else选择语句是用来决定在是否为空记录时,pageno的不同处理,空记录时令pageno=0,不为空时用request从链接中的“?pageno=”中读入pageno值,再进行是否为数值类型或为空的判断。在没有单击页码时,打开网页一般就显示第1页,的以pageno=1,当单击页码时,有pageno值传入,就把pageno赋值给rs.absolutepage.至此,新闻列表模块已完成,其界面如图

(图6)

(五)  新闻内容显示模块

当浏览者单击一个标题时,链接到display.asp查看详细内容,同时传递了该记录的id,id是这个数据库的主键,处理同一个记录时,都要退过id来传递联系,这在前面数据库结构中已讲到很多了。

新闻内容显示模块(display.asp)这个模块的显示新闻内容功能调用了encodehtml()函数,其运行界面如下:

(六)  新闻管理模块

至此,一个新闻系统的雏形已经出来了,但还缺少后台管理模块,包括修改、删除新闻,当然还包括前面的发布模块。Admin.asp是管理首页,该页面结构和list.asp差不多,主要是在标题后面加上了修改、删除两个超链接按钮,也通过id传递值,分别链接到相应页面进行处理。新闻管理模块(admin.asp)

管理页面当然还要加权限判断代码,以避免不法用户修改数据。如图

(图7)新闻管理模块——管理首页

(七)  新闻修改模块

这个模块基本上和发布模块一样,只不过修改模块时需要事先传入一个id值,从数据库中找出相应的记录,显示在表单上,这时表单里的value值就是相应字段的值,而发布时表单元value值是空的。同时修改模块也需要一个存储修改的处理(savemodify.asp),所以除了递交title、content字段值外,还需递交id值,这个值与从admin.asp传过来的id值一致。新闻修改模块(modify.asp)

修改新闻界面(图8)

这里传递id 值时,用了一个隐藏类型表单type=hidden,因为修改时不需要显示也不能修改值。修改页面的界面如图所示。

(八)  保存修改模块

保存修改也跟保存添加模块相似,只是多了一个id 值,先找到该id的记录,然后更新。

保存攸改模块,这里的addtime项没有更新,这不是很重要,当然可以改进一下,比如加一个选择,是不是要同时更新发布时间。在modify.asp文件的表单中加一个单选按钮:

(九)  新闻删除模块

新闻发布系统设计[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论