新闻网站是一个新闻单位不可缺少的部分,它的内容对于新闻的决策者和管理者来说都至关重要,所以新闻网站应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对网上新闻发布进行管理,具有着手于管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高网上新闻发布的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
Active Server Pages即ASP,是一套微软开发的服务器脚本环境,使用它可以创建和运行动态、交互的Web服务器应用程序。ASP内含于IIS3.0和IIS4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度,而且利用Visual InterDev集成开发环境可以很容易地对ASP应用程序进行开发和修改。
本网站系统从建立ASP的环境开始,由浅入深地介绍了建立一个基于ASP的动态新闻发布系统所需要的各种技术。
目前,ASP技术已风靡全球,在Internet上几乎处处都能看到它的身影,ASP技术的出现和发展给曾经以静态内容为主的Web带来了全新的动态效果,使其具有更加灵活和方便的交互特性,在Internet中实现信息的传递和检索越来越容易。正因为如此,ASP迅速被广大网络设计和开发人员所接受,成为首选的网站开发和编程技术。
ASP是目前最流行的Web应用程序开发工具之一。它是一种功能强大、灵活易学的服务器脚本编程环境,它的源代码均可以在服务器端运行,运行的结果以HTML代码的形式输出到客户端。利用ASP不仅可以快速创建交互性的动态网页,而且程序代码完全保密,更重要的是它不用考虑客户端使用何种浏览器。
Active Server Pages:“动态服务器网页”,一般简称为“ASP”,ASP之所以能受到大家的重视与使用的原因,主要在于所产生的执行结果都是标准的HTML格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如IE 或Netscape)都可以正确地获得ASP的“执行”结果,并且将这ASP执行的结果直接在浏览器中“浏览”,不像VBScript或 JavaScript是在客户端(Client)的浏览器上执行,若使用VBScript来设计程序,客户端(Client)在IE浏览器中可以显示程序执行的结果,可是,客户端(Client)若使用Netscape浏览器就无法显示VBScript的执行结果。
任何开发工具皆可发展ASP。只要使用一般的文编辑程序,如Windows记事本,就可以编辑。
1、ASP通吃各家浏览器由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。
2、语言相容性高:ASP与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。
隐密安全性高。如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因为ASP程序先于网站服务(Web Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。
3、易于操控数据库:ASP可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库,例如:Acess、sqlserver、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel” 文件当成数据库用。
所以我选择了ASP结合dreameware8架构网站。在此期间本人将使用Dreamweaver 8进行ASP页面的编码,并使用IIS5.1对页面进行调试。
目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
1、公共网关接口CGI(Common Gateway Interface)
CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
2、先进数据库连接器ADC(Advance Database Connector)
ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。
3、JAVA/JDBC语言编程
JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。
4、动态服务器页面ASP(Active Server Page)
ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。
1、ASP访问数据库的原理
ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。
当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。
2、ASP页面的结构
ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:
(1) 标准的HTML标记:所有的HTML标记均可使用。
(2) ASP语法命令:位于<% %> 标签内的ASP代码。
(3) 服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。
(4) 脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言。
3、ASP的运行环境
目前ASP可运行在三种环境下:
(1) WINDOWS NT server 4.0运行IIS 5.0(Internet Information Server)以上。
(2) WINDOWS NT workstation 4.0运行Peer Web Server 6.0以上。
(3) WINDOWS 95/98/XP运行PWS(Personal Web Server)。
其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。
很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的新闻专栏。许多企业和个人网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高,如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制作大量的网页,从而浪费很多时间和精力。使用新闻发布、新闻管理系统和留言板可以使新闻发布、管理和留言变得很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动生成对应的网页。本文将对新闻发布及管理系统进行系统分析与总体设计。
新闻发布、新闻管理系统和留言板包括管理员管理、版块管理、新闻管理、添加新闻、新闻查询、用户评论、留言和管理留言等模块。具体描述如下:
1、管理员管理:
(1) 添加管理员;
(2) 修改管理员信息;
(3) 删除管理员。
2、版块管理:
(1) 添加新闻版块;
(2) 修改新闻版块;
(3) 删除新闻版块。
3、新闻管理:
(1)显示各版块的信息;
(2) 转移新闻版块;
(3) 修改新闻;
(4) 删除新闻。
4、添加新闻:
(1) 添加新闻的内容、标题、图片、发布者等。 -
5、留言:
(1) 添加留言即作者、主题、头像和内容;
(2) 回复留言;
(3) 浏览留言。
6、管理留言:
(1) 删除留言;
(2) 预览留言。
从功能描述的内容可以看到,本实例可以实现6个完整的功能。我们根据这些功能,设计出系统的功能模块,如下图2-1所示。
新闻系统 |
图2-1 新闻发布系统功能模块示意图
新闻发布系统的功能模块之间的关系如下图2-2所示。
后台系统 提供数据 |
前台系统 |
数据库 |
基本信息发布 |
留言 |
图2-2 新闻发布及管理系统的功能模块关系图
在本网站中,管理员管理模块的功能比较简单、只有添加、修改、删除功能。
管理员管理功能模块的关系如下图2-3所示。
添加、修改、删除管理员信息 |
用户 |
图2-3 用户管理功能模块的关系图
为了使读者进一步了解本实例系统的设计,本小节将对系统进行流程分析。管理系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。身份认证过程:
确认用户是否是有效的系统用户,此过程决定用户能否进入系统。
本系统分为前台系统和后台系统及留言三个部分。前台系统不需要进行身份认证,任何人都可以通过浏览器阅读已经发布的新闻、发表网友评论。
管理员拥有所有的操作权限,后台系统的流程分析如图2-4所示。
开始 |
用户登录 |
失败重试 |
管理所有用户的信息 管理新闻类别,发布信息,所有新闻信息的管理 |
管理员 |
图2-4 后台系统的流程分析
留言系统的流程分析如下图2-5所示。
开始 |
用户登录 |
失败重试 |
删除留言 |
发布留言、回复留言 |
管理员 |
普通用户 |
图2-5留言板的流程分析
首先创建一个数据库news及gbook用来保存本系统的所有数据。
本系统定义的news数据库中包含以下4个表:管理员表:admin、新闻类别表:newsclass、新闻信息表:newsinfo和评论表:pinglun。
定义的gbook数据库中包含以下3个表:管理员表:admin、用户表:user、留言板:liuyanban。
下面分别介绍这些表的结构:
1、管理员表admin
管理员表admin用来保存管理员信息。在设计数据库结构时,很多表都需要设计一个整型字段作为标识列,这几乎已经成为惯例,例如表admin中的ID字段。所谓标识列,就是可以惟一标识一行记录的列,在表中不会存在两条标识列相同的记录。如果其他表需要引用表admin中的数据,则在表中添加一个ID字段就可以了,结构如表3_1所示。
表3_1 表admin的结构
编号 | 字段名称 | 数据类型 |
1 | ID | 自动编号 |
2 | Name | 文本 |
3 | Pwd | 文本 |
4 | lastime | 文本 |
2、新闻类别表newsclass
新闻类别表newsclass用来保存新闻类别的信息,结构如表3_2所示。
表3_2 表newsclass的结构
编号 | 字段名称 | 数据类型 |
1 | ID | 自动编号 |
2 | Title | 文本 |
3 | class | 数字 |
3、新闻信息表:newsinfo
新闻信息表:newsinfo用来保存新闻基本信息,在此表设计时用到了文本、数字、日期/时间、备注等数据类型,结构如表3_3所示。
表3_3 表newsinfo的结构
编号 | 字段名称 | 数据类型 |
1 | id | 自动编号 |
2 | author | 文本 |
3 | title | 文本 |
4 | content | 备注 |
5 | class | 数字 |
6 | time | 日期/时间 |
7 | click | 数字 |
8 | images | 文本 |
4、评论表:pinglun
评论表:pinglun 用来保存新闻评论信息,结构如表3_4所示。
表3_4 表pinglun的结构
编号 | 字段名称 | 数据类型 |
1 | ID | 自动编号 |
2 | pinglunid | 数字 |
3 | pinglunname | 文本 |
4 | pinglundate | 日期/时间 |
5 | pingluncontent | 备注 |
5、留言板 管理员表:admin
管理员表:admin用来保存管理员信息,结构如表3_5所示。
表3_5 表admin的结构
编号 | 字段名称 | 数据类型 |
1 | username | 文本 |
2 | password | 文本 |
6、留言板 用户表:user
用户表:user用来保存用户信息,结构如表3_6所示。
表3_6 表user的结构
编号 | 字段名称 | 字段名称 |
1 | username | 文本 |
2 | password | 文本 |
3 | name | 文本 |
4 | sex | 文本 |
5 | year | 文本 |
6 | month | 文本 |
7 | day | 文本 |
8 | telphone | 文本 |
9 | Email | 文本 |
10 | hobby | 文本 |
7、留言板留言板:liuyanban
留言板:liuyanban 用来保存用户留言的信息,结构如表3_7所示。
表3_7 表liuyanban 的结构
编号 | 字段名称 | 字段名称 |
1 | username | 文本 |
2 | title | 文本 |
3 | content | 文本 |
4 | publishtime | 文本 |
5 | userimg | 文本 |
本主界面为index.asp,它的功能是显示新闻类别,热点新闻中的4条新闻和最新新闻,并提供进入管理界面(admin_login.asp),留言板(index.asp)的链接。它是由top.asp,buttom.asp,left.asp这些模块组成。
此模块是由top.asp页面所包含,主要是显示各个新闻类别里的新闻标题及链接。它根据数据库里新闻类别的多少动态生成的。Top界面如下图4_1所示。