资源描述
第3章 新闻发布系统随着Internet快速发展,Web已经对商业、工业、银行,及人们的工作、生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体。一个新的信息传送媒体逐渐被人们所青睐。范围广泛的、复杂的分布式应用正在Web环境中出现。新闻网作为一个新时代传媒的产物,早已超过了国界,使一分钟游遍整个世界不再是神话。它摒弃了传统媒体的不足,正在已不可预知的速度向前发展。新闻发布系统是企业网站中最常用的系统,它的一个基本作用就是为企业提供信息发布的平台。使用ASP技术可以动态生成新闻静态页面,可以使新闻的发布和管理变得很轻松。管理员只需设置标题、内容和图片等新闻信息元素就可以了,系统将自动生成对应的网页。而使用SQL Server数据库,将减轻了维护人员的工作量,使系统便于维护和管理。新闻发布系统是构成企业网站的重要组成部分,它一方面可以用来发布企业的最新公告,另外一方面可以发布及企业相关的新闻动态。新闻发布系统可以实现以下功能。q 为企业提供信息发布的平台,可以用来发布及企业相关的新闻信息。q 任何注册和非注册人员都可以访问浏览系统上的新闻信息和新闻评论信息。q 可以赋予用户权限,根据权限显示不同的功能模块。q 管理员可以完成删除、修改、添加新闻信息等操作。q 新闻信息可以按照新闻主题、新闻内容、新闻编号等条件进行搜索。q 系统具有可设置是否必须注册才能发表评论;可设置是否只能管理员才能修改和删除评论信息;可设置过滤词语;防灌水功能,可设置用户发表评论时间间隔等功能。下面将逐步开发一个较完整的新闻发布系统。3.1 系统概述本章所介绍的新闻发布系统根据不同的用户,可以分为以下两个功能区。1浏览者功能区根据用户的需求,浏览者可以进行如下操作。q 浏览者可以查看最新公告信息。q 浏览者可以查看相应新闻版块的新闻标题信息。q 浏览者可以查看相应新闻版块的新闻信息,并且无需注册和登录即可发表新闻评论。q 浏览者可以查看新闻评论信息并且无需注册和登录即可发表新闻评论。q 浏览者可以参加新闻投票,并且查看投票结果。q 浏览者可以在系统内搜索符合指定条件的新闻标题,并查看相应新闻的具体信息。2管理员功能区管理员登录,根据输入的账号和密码正常登录该系统后,管理员除了享有浏览者具有的权限外还可以进行如下操作。q 管理员可以进行新闻版块管理,对新闻版块进行添加、修改和删除操作。q 管理员可以进行新闻信息管理,对新闻信息进行添加、修改、删除、新闻信息版块类别移动等操作。q 管理员可以进行公告信息管理,对公告信息进行添加、修改和删除操作。q 管理员可以进行新闻投票管理,对投票项目进行添加、修改和删除操作。q 管理员可以进行新闻评论管理,对新闻评论进行添加、修改和删除操作。q 管理员可以进行个人账号和密码管理,对登录账号和密码进行修改操作。3.1.1 系统构架该系统设计流程:首先创建新闻发布系统数据库,再次设计该系统的功能,然后编写源代码实现系统功能,然后在表示层制作及用户对话界面,然后上传到Internet进入应用层,最后是用户使用该系统。该流程对应的系统构架为:数据层设计数据服务配置系统信息表示层应用层用户接口层。系统总体构架图如图3.1所示。图3.1 系统总体框架图3.1.2系统功能模块设计系统主要功能如下所示。q 用户管理功能,用户可以浏览新闻信息、发表评论、参加投票等。q 管理员管理功能,管理员负责整个系统的后台管理。q 新闻版块信息显示及管理功能。q 新闻内容显示及管理功能。q 新闻评论及管理功能。q 搜索功能,可以进行不同方式的搜索。q 新闻投票及管理功能。q 公告显示及管理功能。q 管理员修改登录账号和密码功能。系统主要分为两大功能模块,如图3.2、3.3所示。图3.2 系统前台功能模块图3.3 系统后台功能模块1公用模块此模块属于系统公用模块,系统中任何页面需要用此模块直接调用即可。此模块包括数据库连接文件、层叠样式表文件、数据转换和图片上传文件、论坛访问量统计文件、公共版面文件和上传组件文件。此模块负责及数据库的连接,定义页面风格,进行数据转换和图片上传,统计论坛访问量,把系统各页面的共同部分放在公共版面文件,上传组件。把这些公用的代码放在一个个文件中,这样即可以减少源代码也可以使整个系统紧凑有序。2前台系统管理模块此模块实现了浏览者功能区的所有功能。此模块由用户浏览模块、新闻搜索模块、新闻投票模块组成。这三个模块的功能如下所示。q 用户浏览模块:此模块包括系统首页、版块新闻标题浏览、新闻详细信息浏览、新闻评论信息浏览、公告信息浏览。此模块负责版块新闻标题信息的显示,新闻详细信息的显示、新闻评论信息的显示、公告信息的显示。该系统中所有的新闻信息和新闻评论信息以及版块信息和公告信息全在此模块中显示,用户在浏览新闻信息的同时还可以发表评论。访问者和管理员进入该系统必须首先进入该模块。此模块包括系统的首页,该页面显示所有新闻类别及部分新闻标题。q 新闻搜索模块:此模块包括新闻搜索页。所有用户均可在论坛内搜索符合指定条件的新闻,单击新闻标题查看新闻详细信息。q 新闻投票模块:此模块包括用户投票、保存投票信息和显示投票结果。所有用户均可参加新闻投票,均可查看投票结果但是系统设置一个IP地址只能投票一次。3后台系统管理模块此模块实现了管理员功能区的所有功能。此模块由管理员登录模块、新闻版块管理模块、新闻信息管理模块、新闻评论信息管理模块、公告信息管理模块、新闻投票管理模块、修改信息模块、退出系统模块组成。这八个模块的功能如下所示。q 管理员登录模块:此模块包括管理员登录和检查管理员登录信息。此模块负责根据管理员所输入的账号和密码判断该用户是否合法以及具有哪些操作权限,并根据不同的权限返回包含不同模块的页面。q 新闻版块管理模块:此模块包括显示版块信息、添加版块信息、修改版块信息、删除版块信息。此模块只对管理员类用户开放。系统管理员登录后,可进行系统的管理操作,包括版块的添加、修改、删除等。q 新闻信息管理模块:此模块包括显示版块新闻标题信息、添加版块新闻信息、修改版块新闻信息、删除版块新闻信息等。此模块只对管理员类用户开放。系统管理员登录后,可进行系统的管理操作,包括新闻信息的添加、修改、删除等。q 新闻评论信息管理模块:此模块包括显示评论信息、添加评论信息、修改评论信息、删除评论信息等。此模块只对管理员类用户开放。系统管理员登录后,可进行系统的管理操作,包括评论信息的添加、修改、删除等。q 公告信息管理模块:此模块包括显示公告标题信息、添加公告信息、修改公告信息、删除公告信息等。此模块只对管理员类用户开放。系统管理员登录后,可进行系统的管理操作,包括公告信息的添加、修改、删除等。q 新闻投票管理模块:此模块包括添加投票项目、修改投票项目、删除投票项目等。此模块只对管理员类用户开放。系统管理员登录后,可进行系统的管理操作,包括投票项目的添加、修改、删除等。q 修改信息模块:此模块包括修改信息页。此模块只对管理员类用户开放,用于管理员修改登录的账号和密码。q 退出系统模块:此模块包括退出系统。此模块只对登录系统后用户,负责结束用户在登录模块所获得的Session变量,退出本系统,返回到论坛首页。此模块在本系统只对管理员类用户开放。3.2 总体设计3.2.1 总体结构本例所介绍的新闻发布系统主要是通过33个页面来实现浏览者功能区和管理员功能区。各个页面之间的关系如下所示。1公用模块数据库连接页面Conn.asp、层叠样式表页面Css.css、数据转换和图片上传页面Function.asp、常量文件adovbs.asp、公共页面Out.asp均为公用页面,其他页面引用它们时直接调用即可。2前台系统管理模块新闻发布系统前台管理程序页面流程图,如图3.4所示。图3.4 前台管理程序页面流程图3后台系统管理模块新闻发布系统后台管理程序页面关系图,如图3.5所示。图3.5 后台管理程序页面流程图3.2.2 各页面功能分配该系统页面功能如下所示。q Conn.asp:数据库连接的基本信息。q Css.css:层叠样式表文件,定义页面风格。q adovbs.asp:把图片上传到论坛,此上传组件是系统自带的。q Function.asp:获取服务端相对图片路径,上传图片和unHtml字符格式转换。q Out.asp:是Default.asp、List.asp、View.asp和ViewGonggao.asp页面的公共页面部分。q Default.asp:新闻发布系统首页,显示所有新闻类别及部分新闻标题并且滚动显示最新公告标题和系统访问量。q List.asp:分页显示系统中各版块新闻的标题信息。q View.asp:显示新闻的详细信息并且在该页面可以直接发表评论。q Show.asp:显示新闻评论信息并且在该页面可以直接发表评论。q DiscussSave.asp:检验并保存用户发表的评论信息。q ViewGonggao.asp:显示公告的详细信息。q Search.asp:搜索系统内符合指定条件的新闻标题。q Vote.asp:用户参加投票。q PostVote.asp:检验并保存用户投票的IP地址。q ViewVote.asp:显示投票结果。q Login.asp:管理员登录。q ChkLogin.asp:检查管理员登录信息。q ModifyAdmin.asp:管理员修改账号和密码信息。q AdminBoard.asp:管理员对新闻类别进行添加、修改和删除等操作。q AdminNews.asp:显示所有新闻标题并实现自动分页。q AdminAdd.asp:管理员添加新闻信息。q AdminEdit.asp:管理员修改指定的新闻信息。q AdminDel.asp:管理员删除指定的新闻信息。q AdminChangeClass.asp:管理员对相应新闻信息作类别移动操作。q AdminGonggao.asp:显示所有公告标题并实现自动分页。q AddGonggao.asp:管理员添加公告信息。q EditGonggao.asp:管理员修改指定的公告信息。q DelGonggao.asp:管理员删除指定的公告信息。q AdminVote.asp:管理员对投票项目进行添加、修改和删除等操作。q ReVote.asp:重新投票。q Editdiscuss.asp:管理员修改指定的评论信息。q Deletediscuss.asp:管理员删除指定的评论信息。q Logout.asp:管理员退出已登录状态,并返回到系统首页。6.2.3 前台浏览及发表评论流程前台浏览及发表评论流程图,如图3.6所示。图3.6 前台浏览及发表评论流程图3.3 数据库设计3.3.1 数据库设计思想系统采用SQL Server2000作为后台数据库。通过分析要在数据库中存储以下基本信息:q 管理员信息:管理员编号、管理员账号、管理员密码。q 新闻版块信息:版块编号、版块名称。q 新闻信息:新闻编号、新闻所属类别编号、新闻标题、新闻内容、新闻图片相对路径、添加/修改时间、点击率。q 新闻评论信息:评论编号、评论对应的新闻编号、评论人姓名、评论内容、添加/修改时间。q 公告信息:公告编号、公告标题、公告内容、公告图片相对路径、添加/修改时间、点击率。q 投票项目信息:投票项目编号、投票项目名称、投票数。q 投票IP地址信息:IP地址编号、IP地址、投票时间。通过以上的分析该系统需要创建七个数据表:q 管理员信息表adminInfo:用于存储管理员编号、管理员账号、管理员密码。q 新闻版块信息表newsclassInfo:用于存储版块编号、版块名称。q 新闻信息表newsInfo:用于存储新闻编号、新闻所属类别编号、新闻标题、新闻内容、新闻图片相对路径、添加/修改时间、点击率。q 新闻评论信息表discussInfo:用于存储评论编号、评论对应的新闻编号、评论人姓名、评论内容、添加/修改时间。q 公告信息表gonggaoInfo:用于存储公告编号、公告标题、公告内容、公告图片相对路径、添加/修改时间、点击率。q 投票项目信息表VoteItem:用于存储投票项目编号、投票项目名称、投票数。q 投票IP地址信息表VoteIP:用于存储IP地址编号、IP地址、投票时间。上述七个数据表的连接关系如下:q 新闻信息表newsInfo及新闻版块信息表newsclassInfo通过版块编号建立连接关系。q 新闻信息表newsInfo及新闻评论信息表discussInfo通过新闻编号建立连接关系。注意:管理员信息表adminInfo、公告信息表gonggaoInfo、投票项目信息表VoteItem和投票IP地址信息表VoteIP这四个表是相互独立的及其他数据表没有关联。3.3.2 创建数据表本系统使用SQL Server 2000作为数据库管理系统。安装SQL Server 2000,打开企业管理器,新建一个数据库,将其命名为news。news数据库中包含的数据表及其相应功能如表3.1所示。表3.1 news数据库包含的数据表及其功能数据表功能adminInfo存放管理员基本信息newsclassInfo存放新闻类别基本信息newsInfo存放新闻基本信息discussInfo存放新闻评论基本信息gonggaoInfo存放公告基本信息VoteItem存放投票项目基本信息VoteIP存放投票IP基本信息1管理员信息表adminInfo(表3.2)该信息表用于存管理员的基本信息,包括管理员编号(id)、管理员账号(name)、管理员密码(pwd)。在已创建的SQL Server数据库news中,创建一个表,名为“adminInfo”,向表中添加字段如表3.2所示。表3.2 管理员信息表adminInfo字段名数据类型长度说明备注idint4管理员ID号设为主键且自动编号namevarchar20管理员账号不允许为空pwdvarchar20管理员密码不允许为空注意:管理员ID号(id)实现自动编号的方法:把字段设置成int型,在下面字段的属性里把标识改为“是”,标识的种子改成1,标识递增量改成1就可以自动编号。2新闻版块信息表newsclassInfo(表3.3)该信息表用于存储版块的基本信息,包括版块编号(classid)、版块名称(classtitle)。在已创建的SQL Server数据库news中,创建一个表,名为“newsclassInfo”,向表中添加字段如表3.3所示。表3.3 版块信息表newsclassInfo字段名数据类型长度说明备注classidint4版块编号设为主键且自动编号classtitlevarchar50版块名称不允许为空注意:版块编号(classid)实现自动编号的方法可参照本章表3.2下面的说明。 3新闻信息表newsInfo(表3.4)该信息表用于存储新闻的基本信息,包括新闻编号(newsid)、新闻所属版块编号(classid)、新闻标题(title)、新闻内容(content)、新闻图片相对路径(images)、添加/修改时间(newstime)、点击率(click)。在已创建的SQL Server数据库news中,创建一个表,名为“newsInfo”,向表中添加字段如表3.4所示。表3.4 新闻信息表newsInfo字段名数据类型长度说明备注newsidint4新闻编号设为主键且自动编号classidint4所属版块编号不允许为空titlevarchar50新闻标题不允许为空contentvarchar6000新闻内容不允许为空imagesvarchar50新闻图片相对路径允许为空newstimedatetime8添加/修改时间默认值getdate()clickint4点击率允许为空注意:新闻编号(newsid)实现自动编号的方法可参照本章表3.2下面的说明。在SQL Server2000中,可以使用char、varchar和text等3种数据类型存储非Unicode字符数据。Char和varchar只能存储最多8000个字符,其中char用于存储固定长度的字符数据,varchar用于存储可变长度的字符数据。如果需要存储的数据很大,则可以使用text数据类型,text数据类型是可变长度的,最多可为2147483647个字符。4新闻评论信息表discussInfo(表3.5)该信息表用于存储新闻评论的基本信息,包括评论编号(discussid)、评论对应的新闻编号(newsid)、评论者(name)、评论内容(content)、添加/修改时间(discusstime)。在已创建的SQL Server数据库news中,创建一个表,名为“discussInfo”,向表中添加字段如表3.5所示。表3.5 评论信息表discussInfo字段名数据类型长度说明备注discussidint4评论编号设为主键且自动编号newsidint4评论的新闻编号不允许为空namevarchar20评论者不允许为空contentvarchar2000评论内容不允许为空discusstimedatetime8添加/修改时间默认值getdate()注意:评论编号(discussid)实现自动编号的方法可参照本章表3.2下面的说明。在SQL Server2000中,可以使用datetime和smalldatetime两种数据类型存储日期时间数据。datetime数据类型用于存储从1753年1月1日到9999年12月31日的日期和时间数据,精确到3.33ms;smalldatetime数据类型用于存储从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。有些程序员习惯了使用datetime数据类型存储日期时间数据,其实在精确度要求不高的情况下,使用smalldatetime数据类型就足够了。5公告信息表gonggaoInfo(表3.5)该信息表用于存储公告的基本信息,包括公告编号(id)、公告标题(title)、公告内容(content)、公告图片相对路径(images)、添加/修改时间(gonggaotime)、点击率(click)。在已创建的SQL Server数据库news中,创建一个表,名为“gonggaoInfo”,向表中添加字段如表3.5所示。表3.5 公告信息表gonggaoInfo字段名数据类型长度说明备注idint4公告编号设为主键且自动编号titlevarchar50公告标题不允许为空contentvarchar4000公告内容不允许为空imagesvarchar50公告图片相对路径允许为空gonggaotimedatetime8添加/修改时间默认值getdate()clickint4点击率允许为空注意:公告编号(id)实现自动编号的方法可参照本章表3.2下面的说明。6投票项目信息表VoteItem(表3.6)该信息表用于存储投票项目的基本信息,包括投票项目编号(Id)、投票项目名称(Item)、投票数(VoteCount)。在已创建的SQL Server数据库news中,创建一个表,名为“VoteItem”,向表中添加字段如表3.6所示。表3.6 投票项目信息表VoteItem字段名数据类型长度说明备注Idint4投票项目编号设为主键且自动编号Itemvarchar50投票项目名称不允许为空VoteCountint4投票数默认值设为0注意:投票项目编号(Id)实现自动编号的方法可参照本章表3.2下面的说明。 7投票IP地址信息表VoteIP(表3.7)该信息表用于存储投票IP地址的基本信息,包括投票IP地址编号(Id)、投票IP地址(IP)、投票时间(VoteTime)。在已创建的SQL Server数据库news中,创建一个表,名为“VoteIP”,向表中添加字段如表3.7所示。表3.7 投票IP地址信息表VoteIP字段名数据类型长度说明备注Idint4投票IP地址编号设为主键且自动编号IPvarchar50投票IP地址不允许为空VoteTimedatetime8投票时间默认值getdate()注意:投票IP地址编号(Id)实现自动编号的方法可参照本章表3.2下面的说明。 3.4 公用模块为了使新闻发布系统的结构清晰、代码规范,把系统中重复使用的代码写在一个页面内,当需要的时候直接加载进来即可。该系统的公用模块包括以下页面。3.4.1 数据库连接页Conn.asp系统中几乎所有页面都要进行数据库的连接,把数据库连接代码保存在页面Conn.asp中,这样可以避免重复编程。Conn.asp的代码如下所示。 在文件中引用此文件时把该文件作为头文件直接调用即可,代码如下所示。页面设计效果:由于该页面没有任何html代码,也没有任何asp的输出显示代码,所以浏览该页面时没有任何效果。3.4.2 层叠样式表文件Css.css为了使新闻发布系统的界面美观、风格统一、修改方便,创建一个层叠样式表文件Css.css,对留言板系统所有网页文件中所标记的属性实行统一控制。Css.css的代码如下所示。编写页面代码时,在每个页面的和标记之间包含该样式表文件,就可以起到统一页面风格的作用,具体代码如下所示。页面设计效果:由于该页面没有任何html代码,也没有任何asp的输出显示代码,所以浏览该页面时没有任何效果。3.4.3 常量文件adovbs.incadovbs.inc是常量文件。是IIS/PWS所提供的文件,存放着ADO相关常数的定义,使用inc文件可以使我们的程序,增加可读性,更易于开发和维护。这个文件在C:Program FilesCommon FilesSYSTEMADO下在使用的时候把它拷贝到虚拟目录下即可。adovbs.inc是将常用参数定义为常量放在包含文件中,使用该参数时,调用这个常量就行了,这样就可以当你需要改变这个参数时,不需要修改程序,只要修改包含文件中常量的值。adovbs.inc包含的是一些常用的const参数和其对应的值的对照声明,在你使用这些const参数的时候必须包含adovbs.inc,否则程序将无法获悉这些const参数的值是多少。这个文件在下面讲解的数据转换和上传图片页Function.asp将用到。调用adovbs.inc文件,代码如下所示。页面设计效果:由于该页面没有任何html代码,也没有任何asp的输出显示代码,所以浏览该页面时没有任何效果。3.4.4 数据转换和上传图片页Function.asp系统中还需要一些转换函数进行数据转换,以及获取服务器端相对图片路径,上传图片等。由于这些函数在后面的几个页面中被多次用到,所以将它们单独取出来,保存在Function.asp中。Function.asp的代码如下所示。% 功能:取得服务端相对图片路径使图片能正常显示定义一个Get函数,该函数的作用是取得服务端相对图片路径设置一个参数imagespath,该参数指图片路径Function Get(imagespath) 如果图片不为空,则取得服务端图片相对路径If imagespath Then GetUpImages/&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&Right(imagespath,4)Else 如果图片为空,则取得服务端图片相对路径为空Get =End If 返回值:图片路径End Function功能:用stream组件上传图片定义一个upImages函数,该函数的作用是上传客户端图片设置一个参数imagespath,该参数指客户端图片路径Function upImages(imagespath)Set objStream = Server.CreateObject(ADODB.Stream) 创建上传组件对象objStream.Type = 1 指定或返回的数据类型objStream.Open 打开上传组件对象objStream.LoadFrom 把客户端图片路径装入上传组件对象中 将客户端图片路径写到服务端的文件中objStream.SaveTo(Get(imagespath),adSaveCreateOverWriteobjStream.CloseIf ERR.number0 Then如果上传失败返回0upImages = 0 Else如果上传成功返回1upImages = 1End IfEnd Function定义一个unHtml函数,该函数的作用是将字符串的一些换行符、回车符等转换成HTML格式,使其在显示的时候,能够按正常格式显示Function unHtml(content)设置一个参数content,该参数指信息内容unHtml=content给函数unHtml赋值为信息内容content如果信息内容不为空,则把信息内容中的一些字符转换成HTML格式If content ThenunHtml=replace(unHtml,&,&) 把信息内容中的&转换成HTML格式unHtml=replace(unHtml,<) 把信息内容中的,>)把信息内容中的转换成HTML格式unHtml=replace(unHtml,chr(34),") 把信息内容中的引号转换成HTML格式unHtml=replace(unHtml,chr(13),)把信息内容中的换行符转换成HTML格式unHtml=replace(unHtml,chr(32), ) 把信息内容中的空格转换成HTML格式End If返回值:字符串中的空格及回车符等被转换成html语法格式End Function%在文件中引用此文件时把该文件作为头文件直接调用即可,代码如下所示。页面设计效果:由于该页面没有任何html代码,也没有任何asp的输出显示代码,所以浏览该页面时没有任何效果。3.4.5 公共页面Out.aspOut.asp是Default.asp、List.asp、View.asp和ViewGonggao.asp页面的公共页面部分。由于Default.asp、List.asp、View.asp和ViewGonggao.asp页面的顶部和左部设计都是相同的,所以将这两个部分的代码单独取出来,放在Out.asp中。Out.asp的主要代码如下所示。 首页 |a href=List.asp?classid= | 新闻搜索 | 参加投票 | 登录 % If Session(name) Then % 管理 退出 用户名: 密码: %在页面左侧显示每个新闻版块下的对应的新闻信息classid=Rs1(classid) 获取新闻版块编号Set Rs2 = Server.CreateObject(ADODB.Recordset) 创建记录集对象 以接收的新闻版块编号为条件把该版块下的对应的点击率最高的前三位新闻信息从新闻信息表中取出来Sql2=Select Top 3 * From newsInfo Where classid=&classid& Order by click DescRs2.Open Sql2,conn,3,3 把取出的信息放在记录集对象中如果记录集为空,则显示”本版块暂无新闻!”If Rs2.Eof And Rs2.Bof ThenResponse.Write Response.Write 本版块暂无新闻!Response.Write Else如果记录集不为空,则循环显示该版块新闻标题名称Do While not Rs2.EOF % a href=View.asp?classid=&newsid= target=_blank 11 ThenResponse.Write Left(Rs2(title),10) & Else 如果新闻标题没超过11个字符,则显示新闻标题Response.Write Rs2(title) End If% a href=List.asp?classid= 新闻统计 新闻总条数:条 新闻总类别:类 由于Default.asp、List.asp、View.asp和ViewGonggao.asp页面的顶部和左部设计都是相同的,所以将这两个部分的代码单独取出来,这样在其他页面要用到此部分时,只是先按下面方法加载一次:然后在页面的相应位置按如下方法调用Out.asp页面的相应过程即Top()、Lefts()即可: 或 这样做有两个好处:一是节省了代码行数,减少工作量;二是便于修改。页面设计效果:由于该页面没有任何html代码,也没有任何asp的输出显示代码,所以浏览该页面时没有任何效果。3.5 用户浏览模块此模块包括系统首页、版块新闻标题浏览、新闻详细信息浏览、新闻评论信息浏览、公告信息浏览。此模块负责版块新闻标题信息的显示,新闻详细信息的显示、新闻评论信息的显示、公告信息的显示。该系统中所有的新闻信息和新闻评论信息以及版块信息和公告信息全在此模块中显示,用户在浏览新闻信息的同时还可以发表评论。访问者和管理员进入该系统必须首先进入该模块。此模块包括系统的首页,该页面显示所有新闻类别及部分新闻标题。3.5.1 系统首页Default.aspDefault.asp是新闻发布系统首页。在系统首页显示企业或者个人信息最新公告,最新公告像“跑马灯”一样由右至左动态显示。在系统首页显示所有新闻类别及最新新闻动态和热贴排行。当单击新闻动态上的更多链接时,转到新闻标题页面,显示更多的新闻信息。在页面的左下方显示系统当前访问量。在新闻系统首页的右侧主要显示了三部分的信息。一是热点新闻,即每个新闻类别中点击率最高的新闻;二是最新公告,采用滚动的方式显示公告标题并设置超链接;三是每个新闻类别中最新的3条新闻。页面显示效果图,如图所示3.7所示。图3.7 系统首页显示效果图当管理员登录后访问该页面其他部分不变,只是导航栏上显示管理和退出按钮。如图3.8所示。图3.8 系统首页显示效果图下面介绍Default.asp的主要代码。页面代码分析如下所示。1连接数据库、定义页面风格、进行数据转换和调用导航栏页面设计:此系统的设计是把所有的新闻信息、版块信息等全部保存在数据库中,此页面要显示新闻信息版块的名称等内容,就必须和数据库相连,所以此页面要引用数据库连接页。由于该页面从数据库读取信息需要把unHTML格式的字符转换成HTML格式的字符使其能正常显示所以要进行数据转换。为了使该留言板系统界面美观、风格统一所以要统一定义页面风格。代码如下所示。 %调
展开阅读全文