前 言
当今的社会,随着科技的进步,时代的发展,计算机信息行业的逐步壮大,人们也越来越离不开各种各样的信息了,人们对信息的追求也越来越迫切了。因此计算机信息的发展也必须适应这一朝流。
最近,为了满足人们各自兴趣如阅读新闻抑或对时事新闻的评论,社会上有不少的知名的与不知名的各类新闻网站等为人们提供获取新闻及新闻评论的平台,所以我就有了学习建设新闻发布系统用于实现人们获取新闻信息的愿望。这对我自己对于喜欢新闻的朋友也有很大的好处。建设这个个人的网站既满足了自己的爱好,又可以学到自己需要的知识。
我作的新闻发布系统的课题用来实现新闻爱好者获得新闻以及抒发自己观点的平台,前台的制作利用asp及其脚本语言vbscript,而后台则是用了微软的office access数据库。
由于本人的知识水平有限,实际的经验也不足,所以所制作出来的作品有许多的不足和漏洞,希望大家提出宝贵的意见和批评。
第1章、新闻发布系统的需求分析
1硬件的基本要求
对于硬件的要求,目前的个人电脑基本上都符合这个程序的浏览与运行,就是说浏览器端的电脑,目前只要是上得了英特网的就可以了,这个也是体现了asp的好处,浏览端只是提出一个要求,服务端根据浏览器的要求得到答案,并返回给浏览端。
服务器端的电脑硬件的要求,基本上是可以运行microsoft windows 2000 server就可以了。
2软件的基本平台
软件平台需要服务器上的操作系统为microsoft windows 2000 server。因为asp的开发平台首选是Windows NT Server(Windows 2000 Server)上的IIS,然后是Windows NT Workstation(Windows 2000 Profession)或Windows95/98的Personal Web,同样现在的浏览器是微软一家独大,使用的浏览器是微软的explorer,网站的数据库使用了同样是microsoft的office access数据库,因为一个数据不是很庞大的个人网站没有必要使用ocacle等大型数据库系统,同时access数据库结构比较的简单,使用起来比较简单好用。
第2章.系统设计的基本知识
2.1 Html简介
HOMEPAGE(主页)是可以通过WWW查询的Internet上WWW站点的首页。从某种角度来看可以说是 电子广告板、信息板,它包含了大量的信息。由于Internet一直以异乎寻常的速度发展,WWW在 信息交换查询中的地位得到了很大提高,这就使HOMEPAGE的编写变得十分重要。HOMEPAGE是以HTML格式写成的,HTML不是WYSIWYG(所见即所得)的,不过HTML非常易学易用, 它以标签(TAG)标示及排列各对象。而标签本身则以"<"和">"号标识,标签内的内容称为
(ELEMENT),元素代表了标签的意义。一般格式为:
<ELEMENT>OBJECT</ELEMENT>
<ELEMENT ATTRIBUTE=ARGUMENT>OBJECT</ELEMENT>, 或者
<ELEMENT>
元素是与大小写无关的。它很类似与工业标准的SGML(标准广义标置语言),它的结构可以归为SGML文档类型定义(DTD)。目前的版本是HTML2.0或3.0。支持HTML3.0的Web浏览器有Netscape Navigator,Mosaic2.5b等。HTML写HOME PAGE的方法可以参考相关的书籍。Web presentation Web表述,Web表述是包含许多连接在一起的用于表达某一目的的网页的总称。它是一个体系结构。Web pages 网页就是可以被浏览器访问的单个HTML文件。Home Page 主页是Web站点的首页。即被访问站点的第一个网页。WWW-- World Wide Web 全球资讯网SGML -- Standard Generalized Marked Language 标准广义标记语言。
DTD-- Document Type Definition 文件类型定义。DTD和SGML的关系,就象C++和计算机语言的关系。
HTML -- HyperText Markup Language 超文本标记语言。
HTML is a SGML DTD.
超文本标记语言是一种标准标记文件的定义。而在全球资讯网中所阅读的文章,正是依照种这种标准。
2.2 网页的组织与安排
在我们要在网上发布信息和建立网页之前首先注意以下几个原则和建议,可能会有助与今后网页的制作。在写HomePage之前最好要明确写HomePage的目的是什么,是个人信息、公司介绍、在线文档、 购物目录还是别的什么。有一个明确的目的对于Web presentation的组织很有好处。当然这并不是说没有一个明确的目的就不能写主页。也可以在制作中建立目的。只是那样工作量会比较大。会有一些重复的工作。
你可以用你所熟悉的文字编辑器来编辑它,例如EDIT、VI、WS、Word等,(但一定要以纯文本方式保存,浏览器只识别纯文本格式的文件)不一定要用其它的新颖编辑器。只要通过一些简单的标注,就可以让文章生动和活泼起来,这就是HTML的特色。
2.3 Asp简介
Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML页、VBScript脚本命令和JavaScript脚本命令等,以创建交互的 Web 页和基于 Web 的功能强大的应用程序。
由于脚本程序是在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易被别人复制。用户看不到创建他们正在浏览的页的脚本命令。
a. ASP的运行环境:
ASP只能用于下列Web Server
·IIS
·Microsoft Personal Web Server
b. ASP的编程语言:
ASP可以使用VBScript和JavaScript进行程序编写。
c. ASP文件
ASP的文件后缀名为.asp,以区别于同样可以包含Script的HTML 文件。一个.asp文件是一个文本文件,
可以包括下列元素的任意组合:
·文本(text)
·HTML标志(tags)
·Script命令
d. ASP: 不需要任何HTML的tag,保存在文件中,起个好听的名字,文件名的后缀一定要改为 .asp ,然后上传到服务器上一个有执行权的目录下(例如wwwroot),接下来的问题是,怎么执行这个ASP程序。
2.3.1 ASP内置对象
ASP 内含于PWS和 IIS 之中 , 我们通过 ASP可以结合 HTML 网页、 ASP 指令和 ActiveX 组件建立动态、交互高效的 Web服务器应用程序。有了 ASP 就不必担心客户端浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样就减轻了客户端浏览器的负担。
与一般程序不同,ASP程序无须编译, 程序控制部分使用 VBScript 、JavaScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBSrcipt 和 JavaScript ,而 VBscript 则被作为系统默认的脚本语言。
ASP之所以简单实用,主要是因为它提供了功能强大的内部对象和内部组件。其中常用的五大内部对象包括Request、Response、Session、Application、Server,
Request
Request对象用于接收客户端在请求一个页面或传送一个表单时提供的所有信息,包括能够标识浏览器和用户的HTTP变量、Cookie信息以及附在URL后面的值(查询字符串或表单数据)
Request的功能是:从客户端获得数据信息。
Request对象共有五种获取方法,分别是QueryString、 Form、 Cookies、 ServerVariables 、ClientCertificate。
语法:
Request[.数据集合∣属性∣.方法] (变量或字符串)
例如:
<%
Request.Form(“user_name”)
Request.QueryString(“user_name”)
%>
下面先将Request的数据集合(获取方法)、属性、方法的功能分别列于表2-3-1、表2-3-2、表2-3-3中,然后将对常用的功能进行逐一介绍。
表2-3-1 Request对象的获取方法
获取方法 |
功能 |
QueryString |
从查询字符串中读取用户提交的数据 |
Form |
取得客户端在FORM表单中所输入的信息 |
Cookies |
取得客户端浏览器的Cookies的信息 |
ServerVariables |
取得服务器端环境变量信息 |
ClientCertificate |
取得客户端浏览器的身份验证信息 |
表2-3-2 Request对象的属性
属性 |
功能 |
TotalBytes |
取得客户端响应数据的字节大小 |
表2-3-3 Request对象的方法
方法 |
功能 |
BinaryRead |
以二进制码方式读取客户端POST数据 |
Response
ASP的内部对象Response用来控制送出给客户端的信息,Response对象可以使用的方法如表2-3-4所示,属性如表2-3-5所示。
表2-3-4 Response对象的方法
方法 |
说明 |
Write |
Response对象中最常用的方法,用来送出信息给客户端 |
Redirect |
引导客户端浏览器至新的Web页面,前面已经做过详细介绍 |
BinaryWrite |
输出二进制信息 |
Clear
|
清除在缓冲区的所有HTML页面 语法: Response.Clear 此时,Response对象的 Buffer属性必须被设置为 True,否则会报错 |
End |
终止处理ASP程序,并返回当时的状况 语法:Response.End |
Flush |
立刻送出缓冲区的HTML数据 语法:Response.Flush 此时,Response对象的 Buffer属性必须被设置为 True,否则会报错 |
表2-3-5 Response对象的属性
属性 |
说明 |
Buffer |
设置为缓冲信息。取值为True或False,默认为False |
ContentType |
控制送出的文件类型 |
Session
在上网时,利用超链接,可以很方便地从一个页面到另一个页面。但是这样也带来一个问题,怎样记载客户的信息呢?比如,在首页客户输入了自己的用户名和密码,在其他页面还需要使用该用户名,我们已经学习了两种方法。
方法一:利用Request对象的QueryString方法一页一页传递过去。这种方法太麻烦了。
方法二:利用 Cookies保存用户名。
还有一种简洁的方法,就是利用Session对象。
Session对象用来记载特定客户的信息。即使该客户从一个页面跳转到另一个页面,该Session信息仍然存在,客户在该网站的任何一个页面都可以存取Session信息。特别强调的是:Session信息是对一个客户的,不同客户的信息用不同的Session对象记载。
Session对象的属性:
- CodePage:将用于符号映射的代码页,决定将被用以显示动态内容 的代码页
- LCID:返回现场标识,决定显示动态内容的位置标识
(3). SessionID:返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独的
(4). Timeout:应用程序会话状态的超时时限,以分钟为单位, Session的有效期时长
(5). Contents:包含已用脚本命令添加到会话中的项目,Contents是Session对象的默认集合
StaticObjects:包含通过<OBJECT>标记创建的并给定了会话作用域的对象,这些对象在global.asa文件中创建
Session对象的方法:
(1).Abandon:破坏Session对象并释放其资源
(2).Contents.Remove:从Contents集合中删除一个项目
(3).Contents.RemoveAll:从Contents集合中删除所有项目
事件有两个,必须和Global.asa结合使用
(1) Session_OnStart–––一个Session对象开始前,便调用该程序;
(2) Session_OnEnd –––一个Session对象结束后,便调用该程序。
Application
Session对象可以记载特定客户的信息,与此相反的是,Application对象可以记载所有客户信息。不同的客户必须访问不同的Session对象,但可以访问公共的Application对象。(在Web站点中创建一个基于ASP的应用程序之后,便可以通过Application对象在该应用程序的所有用户之间共享信息)
Application对象是让所有客户一起使用的对象,通过该对象,所有客户都可以存取同一个Application对象。
Application对象的方法:
(1)Lock–––锁定Application对象, 禁止其他客户修改Application对象的属性;
(2)Unlock–––解除锁定, 允许其他客户修改Application对象的属性;
(3) Contents.Remove–––Application对象的Contents集合中删除一个项目;
(4) Contents.RemoveAll –––Application对象的Contents集合中删除所有项目;
(5) Contents –––含所有通过脚本命令添加到应用程序中的项目
(6) StaticObjects ––– 含通过OBJECT标记创建的并给定了应用程序作用域的对象
Application的事件有两个,也必须和Global.asa结合使用:
(1)Application_OnStart–––该Application开始前,便调用该程序; Application_OnStart事件在创建第一个新的会话之前发生,也就是在Session_OnStart事件之前发生。语法格式如下:
<SCRIPT LANGUAGE = "VBScript" RUNAT = "Server">
Sub Application_OnStart
……
End Sub
</SCRIPT>
在Application_OnStart事件过程脚本中,只有Application对象和Server对象是可用的。如果在该事件过程脚本中引用Session、Request或Response对象,都将会出现错误。
例:
Sub Application_OnStart
Application("NumberofVisitors") = 0
End Sub
说明:在Application_OnStart事件过程脚本中并不需要使用Application.Lock和Application.Unlock方法,因为该事件仅仅在第一个会话启动应用程序时发生一次。
(2)Application_OnEnd–––该Application结束后,便调用该程序。
Application_OnEnd事件当应用程序退出时发生,该事件发生在Session_OnEnd事件之后。语法格式如下:
<SCRIPT LANGUAGE = "VBScript" RUNAT = "Server">
Sub Application_OnEnd……
End Sub
</SCRIPT>
注意: 在Application_OnEnd事件过程脚本中只有ASP内置的Application和Server对象是可用的,而且不能调用Server.MapPath方法。
Server
Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务。它提供了一些非常有用的属性和方法,主要用来创建COM对象和Scripting式、管理其他网页的执行.
语法为:
Server.方法︱属性(变量或字符串︱=整数)
Server对象的属性如表2-3-5所示。
属性 |
说明 |
ScriptTimeout |
规定脚本文件最长执行时间,超过时间就停止执行脚本,其默认值为90秒 |
Server对象的方法如表2-3-6所示。
方法 |
说明 |
CreatObject |
Server对象中最重要的方法,用于创建已注册到服务器的ActiveX组件、应用程序或脚本对象 |
HTMLEncode |
将字符串转换成HTML格式输出 |
URLEncode |
将字符串转换成URL编码输出 |
MapPath |
将路径转化为物理路径 |
Execute |
停止执行当前网页,转到新的网页执行,执行完毕后返回原网页,继续执行Execute方法后面的语句 |
Transfer |
停止执行当前网页,转到新的网页执行。和Execute不同的是,执行完毕后不返回原网页,而是停止执行过程 |
2.4 IIS的运用
2.4.1 IIS简介
IIS是Internet Information Server的缩写,它是微软公司主推的Web服务器, 最新的版本是Windows2000里面包含的IIS 5.0,IIS与WindowNT Server完全集成在一起, 因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性, 建立强大、灵活而安全的Internet和Intranet站点。 IIS的一个重要特性是支持ASP。IIS 3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。IIS的安装,管理和配置都相当简单。
2.4.2 IIS的安装
1.安装步骤:
a. 点击:【开始】->【设置】->【控制面板】->【添加/删除程序】,打开“添加/删除程序”对话框。
- 点击左边菜单栏中“添加/删除Windows组件”项,打开“Windows组件向导”对话框(这个过程可能要花几十秒钟),在对话框“组件”列表中,选中“Internet 信息服务(IIS)”项。
c.将“Windows 2000”安装盘放入光驱中,然后点击“下一步”。这个步骤可能会花几分钟。
d. 点击“完成”按钮,完成IIS的安装。
2.5 简单数据库office access的简要介绍
Access数据库是集成在microsoft公司开发的产品更新换代office系统中的集成软件。
Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统(如Visual FoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。
ODBC(Open Database Connectivity开放式数据库互联)是微软推出的一种工业标准,一种开放的独立于厂商的API应用程序接口,可以跨平台访问各种个人计算机、小型机以及主机系统。ODBC作为一个工业标准,绝大多数数据库厂商、大多数应用软件和工具软件厂商都为自己的产品提供了ODBC接口或提供了ODBC支持,这其中就包括常用的SQL SERVER、ORACAL、INFORMIX等,当然也包括了Access。
ASP访问数据库的几种方式:在ASP脚本中可以通过三种方式访问数据库:
a. IDC(Internet Database Connector)方式;
b. ADO(ActiveX Data Objects)方式;
c. RDS(Remote Data Service)方式;
这三种访问方式对数据库的访问是由Internet Information Server来完成的。Web浏览器用HTTP协议向Internet信息服务器(IIS)递交请求。Internet信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。在本程序中我使用的是第二种方式,即ADO方式。
2.5.1 Access 组件介绍
我们在Web服务器运用Web应用程序进行的最常见和最实用的任务就是访问服务器端的数据库.而ASP内建的Databse Access组件使得我们能够轻而易举地通过ActiexX Data Objects(ADO)访问存储在服务器端的数据库或其他表格化数据结构中的信息.ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到Active Server页面上.可以使用ADO去编写紧凑简明的脚本便连接到Open Datase Connetivity(ODBC)兼容的数据库和OLE DB兼容的数据源,这样ASP程序员就可以访问任何与ODBC兼容的数据库,包括MS SQL SERVER Avccess Ovracle等.如果您是一个对数据库连接有一定了解的脚本编写人员,那将发现ADO命令语句并不复杂而且容易掌握,同样地,如果您是一个经验丰富的数据库编程人员,将会正确认识ADO的先进的与语言无关性和查询处理功能.熟悉VB数据库编程的朋友会发现ADO与RDO有某中类似的地方.但是据说ADO的访问的速度更快,内存需要更小.
2.5.2 通过ADO连接并操作WEB数据库的步骤
让我们来认识一下利用ASP的Database Access组件通过ADO连接并操作WEB数据库的步骤吧,第一步是,要指定想要连接的数据库,有DSN和DSN-LESS两种方法;
DSN(Data Source Name 数据源名称):建立一个系统数据源名称,方法如下:
1.单击“开始”,选择设置控制面板;
2.双击图标“32位ODBC”,将弹出的一个对话框,选择标签System DSN;
3.单击Add 添加一个DSN入口,选择Microsoft Access Drive并确认;
在Data Source Name 栏里输入希望指定的DSN,然后单击Select选择数据库存放的位置,可以按 Browse来选择;
以上步骤完成后在ASP程序中指定DSN,如下列所示:
<%connstr=”DSN”%>
DSN-less:是另一种通过在ASP文件里直接指定数据库文件所在位置,而无需建立DSN的方法,由于许多公司没有自己的WEB服务器,他们的网站往往是存放在远端的虚拟服务器上的,因此要建立和修改DSN的设置比较麻烦,而使用DSN-LESS方法直接指定远端数据库所在位置恰恰解决了这一个问题,方法如下:
<%
connstr=”DBQ=”+server.mappath(”database/source.mdb”)+”;DefauleDir=;DRIVER={Microsoft Access Driver(*,mdb)};DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;”
%>
在指定了想要连接的数据库后,就可以通过以下方法连接并打开数据库:
<%Set Conn=Server.CreateObject(”ADODB.Connection”)Conn.Open constr
%>
第二步是指定想要执行的SQL指令,可以使用RexordSet;
当连接了数据库后就可以对数据库进行操作了,比如查询、删除、更新等,这些操作都通过SQL指令来完成的,如下例在数据库表datebase中查询所有姓名中有A的记录:
<%
sql=”select*from database where name like ’A%%’”
Setrs=Conn.Execute(sql)
%>
尽管Connection对象简化了连接数据库和查询任务,但Connection对象仍然有许多不足,确切的说,检索和显示数据库信息的Connection对象不能用于创建脚本,必须确切知道要对数据库做出的更改,然后才能使用查询功能实现更改,对于检索数据、检查结果、更改数据库,ADO提供了Recordset对象。正如它的名称所暗示的那样,Recordset对象有许多可以使用的特性,根据查询限制,检索并且显示一组数据库行,即记录。Recordset对象保持查询返回的记录的位置,允许用户一次一项逐步扫描结果。根据Recordset对象的指针类型属性设置,可以滚动和更新记录。数据库指针可以在一组记录中定位到特定的项。指针还用语检索和检查记录,然后在这些记录的基础上执行操作。Recordset对象有一些属性,可用于精确的控制指针的行为,提高你检查和更新结果的能力。
Recordset的使用方法如下:
Set rs =Server.CreateObject(”ADODB.Connection”)
Rs.Open SQL 指令,Conn,1,1’读取 或
Rs.Open SQL 指令,Conn,1,3’新增、修改或删除;
第三步是:使用Recordset属性和方法,并显示执行的结果。
通过以上指令,创建了一个包含了数据的游标(Recordset)“rs”,事实上游标是存储在活动内存中的类似记录和字段的数组的东西,当通过Recordset组件创建一个游标时,它从数据提供者那里得到一个数据集,并用它来充实游标,可以想象ADO产生的Recordset是一个象电子表格的记录,它有一行行的记录,在任何时候都有一行是它的当前行,而Recordset的字段是用Recordset的FIELD集合表示的。下面列出了所要创建的Recordset对象即游标的一些属性及方法:
rs.Fields.Count: Recordset对象的字段总数。
rs(i).Name:第I个字段的名称,I由0算起到rs.Fields.Count-1。
rs(i):读取第i个字段的数据,i由0算起到rs.Fields.Count-1。
rs(“字段名称”):读取指定字段的数据。
rs.RecordCount:游标中的数据记录总数。
rs.EOF:是否已经指定到最后一条记录。
rs.MoveNext:将指标移到下一笔记录。
rs.MovePrev: 将指标移到上一笔记录。
rs.MoveFirst: 将指标移到第一笔记录。
rs.MoveLast: 将指标移到最后一笔记录。
rs,Close:关闭Recordset对象。
第3章.数据库设计
3.1 概念结构设计
新闻发布系统的实体有:新闻内容,栏目分类,新闻评论,用户,他们之间的关系如图(3.1)所示:
图3.1实体E-R图
3.2.数据库逻辑设计
栏目分类表的(fl)结构
序号 |
字段 |
描述 |
类型和长度 |
主键 |
可空 |
默认值 |
1 |
lmbh |
栏目编号 |
文本 |
是 |
否 |
无 |
2 |
name |
栏目名称 |
文本 |
否 |
否 |
无 |
新闻内容表的(news)结构
序号 |
字段 |
描述 |
类型和长度 |
主键 |
可空 |
默认值 |
1 |
Id |
自动编号 |
Int |
是 |
否 |
无 |
2 |
xwbt |
新闻标题 |
文本 |
否 |
否 |
无 |
3 |
fbshj |
发布时间 |
Datetime(8) |
否 |
是 |
Getdate() |
4 |
xwzz |
作者 |
文本 |
否 |
是 |
无 |
5 |
nr |
新闻内容 |
备注 |
否 |
否 |
无 |
6 |
num |
查看次数 |
Int |
否 |
是 |
0 |
7 |
tj |
是否推荐新闻 |
Int |
否 |
是 |
0 |
8 |
name |
所属栏目 |
Int |
否 |
是 |
0 |
新闻评论内容表的(xwpl)的结构
序号 |
字段 |
描述 |
类型和长度 |
主键 |
可空 |
默认值 |
|
1 |
Id |
自动编号 |
Int |
是 |
否 |
无 |
|
2 |
ssxwid |
所属新闻 |
Int |
否 |
否 |
无 |
|
3 |
fbtime |
发表时间 |
datetime |
否 |
否 |
Getdate() |
|
4 |
plnr |
评论内容 |
备注 |
否 |
否 |
无 |
|
5 |
plzz |
评论作者 |
文本 |
否 |
否 |
无 |
用户表的(user)结构
序号 |
字段 |
描述 |
类型和长度 |
主键 |
可空 |
默认值 |
1 |
Id |
自动编号 |
Int |
是 |
否 |
无 |
2 |
yhm |
登录帐号 |
文本 |
否 |
否 |
无 |
3 |
mm |
登录密码 |
文本 |
否 |
否 |
无 |
4 |
nl |
年龄 |
数字 |
否 |
否 |
无 |
5 |
xb |
姓别 |
文本 |
否 |
否 |
无 |
6 |
yx |
邮箱 |
文本 |
否 |
否 |
无 |
7 |
grjj |
个人简介 |
文本 |
否 |
否 |
无 |
第4章 系统详细设计
新闻发布系统主要是信息的发布和管理,涉及到前台用户对新闻信息的浏览和后台新闻的管理.主要是分前台浏览和后台管理两个大的模块.前台页面一般不需要用户登录注册,也就是对所有用户均开放.后台管理部分一般是通过隐藏页面进入,并做权限验证,只有只有使用了正确的账号和密码才能进入后台管理和发布新闻.
在前台新闻浏览模块,一般需要对新闻进行分门别类展示,并需要通过栏目导航进入特定的新闻信息分类模块.在首页除了显示导航栏目外,还需要显示这些栏目的最新信息;列表以及推荐新闻信息列表,并能提供一些新闻检索功来实现用户根据个人喜好查看自己赶兴趣的新闻.同时还应提供用户评论功能,使得用户可以对新闻信息发表自己的看法和意见.另外,能统计用户访问新闻的浏览次数,以供后台展示热点新闻和统计新闻信息的受欢迎程度.
后台管理方面,必须由合法的管理者来管理新闻的的发布修改删除等,那么系统就需要一个管理员登录注销的模块.
4.1系统结构设计
图4.1新闻发布管理系统结构图
图4.2新闻发布管理系统流程图
4.2主要页面及其代码
4.2.1数据库连接
代码如下:
<%
dim conn,db
set conn=Server.CreateObject("ADODB.CONNECTION")
db="driver={microsoft access driver (*.mdb)};dbq=" &Server.MapPath("news.mdb")
conn.open db
%>
建立数据库的连接
4.2.2主页面设计
界面如图4.3所示:
图4.3新闻主页