




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 3 章 新闻发布系统 随着 Internet 快速发展 Web 已经对商业 工业 银行 及人们的工作 生活产生了深远的影响 许多传统的信息和数据库系统正在被移植到互联网上 人们获得信息的来源已经不再只是报纸 电视 广播等传统媒体 一个新的信息传送媒体逐渐被人们所青睐 范围广泛的 复杂的分布式应用正在 Web 环境中出现 新闻网作为一个新时代传媒的产物 早已超过了国界 使一分钟游遍整个世界不再 是神话 它摒弃了传统媒体的不足 正在已不可预知的速度向前发展 新闻发布系统是企业网站中最常用的系统 它的一个基本作用就是为企业提供信息发布的平台 使用 ASP 技术可以动态生成新闻静态页面 可以使新闻的发布和管理变得很轻松 管理员只需设置标 题 内容和图片等新闻信息元素就可以了 系统将自动生成对应的网页 而使用 SQL Server 数据库 将减轻了维护人员的工作量 使系统便于维护和管理 新闻发布系统是构成企业网站的重要组成部分 它一方面可以用来发布企业的最新公告 另外一 方面可以发布与企业相关的新闻动态 新闻发布系统可以实现以下功能 为企业提供信息发布的平台 可以用来发布与企业相关的新闻信息 任何注册和非注册人员都可以访问浏览系统上的新闻信息和新闻评论信息 可以赋予用户权限 根据权限显示不同的功能模块 管理员可以完成删除 修改 添加新闻信息等操作 新闻信息可以按照新闻主题 新闻内容 新闻编号等条件进行搜索 系统具有可设置是否必须注册才能发表评论 可设置是否只能管理员才能修改和删除评论信息 可设置过滤词语 防灌水功能 可设置用户发表评论时间间隔等功能 下面将逐步开发一个较完整的新闻发布系统 3 1 系统概述 本章所介绍的新闻发布系统根据不同的用户 可以分为以下两个功能区 1 浏览者功能区 浏览者功能区 根据用户的需求 浏览者可以进行如下操作 浏览者可以查看最新公告信息 浏览者可以查看相应新闻版块的新闻标题信息 浏览者可以查看相应新闻版块的新闻信息 并且无需注册和登录即可发表新闻评论 浏览者可以查看新闻评论信息并且无需注册和登录即可发表新闻评论 浏览者可以参加新闻投票 并且查看投票结果 浏览者可以在系统内搜索符合指定条件的新闻标题 并查看相应新闻的具体信息 2 管理员功能区 管理员功能区 管理员登录 根据输入的账号和密码正常登录该系统后 管理员除了享有浏览者具有的权限外还 可以进行如下操作 第 18 章 常用插件扩展点 217 管理员可以进行新闻版块管理 对新闻版块进行添加 修改和删除操作 管理员可以进行新闻信息管理 对新闻信息进行添加 修改 删除 新闻信息版块类别移动等操 作 管理员可以进行公告信息管理 对公告信息进行添加 修改和删除操作 管理员可以进行新闻投票管理 对投票项目进行添加 修改和删除操作 管理员可以进行新闻评论管理 对新闻评论进行添加 修改和删除操作 管理员可以进行个人账号和密码管理 对登录账号和密码进行修改操作 3 1 1 系统构架 该系统设计流程 首先创建新闻发布系统数据库 再次设计该系统的功能 然后编写源代码实现 系统功能 然后在表示层制作与用户对话界面 然后上传到 Internet 进入应用层 最后是用户使用该系 统 该流程对应的系统构架为 数据层 设计数据服务 配置系统信息 表示层 应用层 用户接口 层 系统总体构架图如图 3 1 所示 数数据据层层 设设计计数数据据服服务务 配配置置系系统统信信息息 表表示示层层 应应用用层层 用用户户接接口口层层 图 3 1 系统总体框架图 3 1 2 系统功能模块设计 系统主要功能如下所示 用户管理功能 用户可以浏览新闻信息 发表评论 参加投票等 管理员管理功能 管理员负责整个系统的后台管理 新闻版块信息显示与管理功能 新闻内容显示与管理功能 新闻评论与管理功能 Eclipse 从入门到精通 218 搜索功能 可以进行不同方式的搜索 新闻投票与管理功能 公告显示与管理功能 管理员修改登录账号和密码功能 系统主要分为两大功能模块 如图 3 2 3 3 所示 用用户户浏浏览览模模块块 新新 闻闻 发发 布布 系系 统统 前前 台台 新新闻闻搜搜索索模模块块 新新闻闻投投票票模模块块 查查看看评评论论信信息息发发表表评评论论 浏浏览览新新闻闻信信息息发发表表评评论论 浏浏览览版版块块新新闻闻标标题题 浏浏览览公公告告信信息息 搜搜索索新新闻闻 参参加加投投票票 查查看看投投票票结结果果 图 3 2 系统前台功能模块 第 18 章 常用插件扩展点 219 新新 闻闻 发发 布布 系系 统统 后后 台台 新新闻闻版版块块管管理理模模块块 管管理理员员登登录录模模块块 新新闻闻信信息息管管理理模模块块 评评论论信信息息管管理理模模块块 公公告告信信息息管管理理模模块块 新新闻闻投投票票管管理理模模块块 退退出出系系统统模模块块 管管理理员员登登录录 检检验验登登录录信信息息 版版块块添添加加 版版块块修修改改 版版块块删删除除 新新闻闻添添加加 新新闻闻修修改改 新新闻闻删删除除 评评论论添添加加 评评论论修修改改 评评论论删删除除 公公告告删删除除 公公告告添添加加 公公告告修修改改 投投票票项项目目添添加加 投投票票项项目目修修改改 投投票票项项目目删删除除 重重新新投投票票 管管理理员员退退出出登登录录状状态态 新新闻闻版版块块转转移移 修修改改信信息息模模块块管管理理员员修修改改密密码码 图 3 3 系统后台功能模块 1 公用模块 公用模块 此模块属于系统公用模块 系统中任何页面需要用此模块直接调用即可 此模块包括数据库连接 文件 层叠样式表文件 数据转换和图片上传文件 论坛访问量统计文件 公共版面文件和上传组件 Eclipse 从入门到精通 220 文件 此模块负责与数据库的连接 定义页面风格 进行数据转换和图片上传 统计论坛访问量 把 系统各页面的共同部分放在公共版面文件 上传组件 把这些公用的代码放在一个个文件中 这样即 可以减少源代码也可以使整个系统紧凑有序 2 前台系统管理模块 前台系统管理模块 此模块实现了浏览者功能区的所有功能 此模块由用户浏览模块 新闻搜索模块 新闻投票模块 组成 这三个模块的功能如下所示 用户浏览模块 此模块包括系统首页 版块新闻标题浏览 新闻详细信息浏览 新闻评论信息浏 览 公告信息浏览 此模块负责版块新闻标题信息的显示 新闻详细信息的显示 新闻评论信息 的显示 公告信息的显示 该系统中所有的新闻信息和新闻评论信息以及版块信息和公告信息全 在此模块中显示 用户在浏览新闻信息的同时还可以发表评论 访问者和管理员进入该系统必须 首先进入该模块 此模块包括系统的首页 该页面显示所有新闻类别及部分新闻标题 新闻搜索模块 此模块包括新闻搜索页 所有用户均可在论坛内搜索符合指定条件的新闻 单击 新闻标题查看新闻详细信息 新闻投票模块 此模块包括用户投票 保存投票信息和显示投票结果 所有用户均可参加新闻投 票 均可查看投票结果但是系统设置一个 IP 地址只能投票一次 3 后台系统管理模块 后台系统管理模块 此模块实现了管理员功能区的所有功能 此模块由管理员登录模块 新闻版块管理模块 新闻信 息管理模块 新闻评论信息管理模块 公告信息管理模块 新闻投票管理模块 修改信息模块 退出 系统模块组成 这八个模块的功能如下所示 管理员登录模块 此模块包括管理员登录和检查管理员登录信息 此模块负责根据管理员所输入 的账号和密码判断该用户是否合法以及具有哪些操作权限 并根据不同的权限返回包含不同模块 的页面 新闻版块管理模块 此模块包括显示版块信息 添加版块信息 修改版块信息 删除版块信息 此模块只对管理员类用户开放 系统管理员登录后 可进行系统的管理操作 包括版块的添加 修改 删除等 新闻信息管理模块 此模块包括显示版块新闻标题信息 添加版块新闻信息 修改版块新闻信 息 删除版块新闻信息等 此模块只对管理员类用户开放 系统管理员登录后 可进行系统的 管理操作 包括新闻信息的添加 修改 删除等 新闻评论信息管理模块 此模块包括显示评论信息 添加评论信息 修改评论信息 删除评论 信息等 此模块只对管理员类用户开放 系统管理员登录后 可进行系统的管理操作 包括评 论信息的添加 修改 删除等 公告信息管理模块 此模块包括显示公告标题信息 添加公告信息 修改公告信息 删除公告 信息等 此模块只对管理员类用户开放 系统管理员登录后 可进行系统的管理操作 包括公 告信息的添加 修改 删除等 新闻投票管理模块 此模块包括添加投票项目 修改投票项目 删除投票项目等 此模块只对 管理员类用户开放 系统管理员登录后 可进行系统的管理操作 包括投票项目的添加 修改 删除等 修改信息模块 此模块包括修改信息页 此模块只对管理员类用户开放 用于管理员修改登录 的账号和密码 退出系统模块 此模块包括退出系统 此模块只对登录系统后用户 负责结束用户在登录模块 所获得的 Session 变量 退出本系统 返回到论坛首页 此模块在本系统只对管理员类用户开 第 18 章 常用插件扩展点 221 放 3 2 总体设计 3 2 1 总体结构 本例所介绍的新闻发布系统主要是通过 33 个页面来实现浏览者功能区和管理员功能区 各个页面 之间的关系如下所示 1 公用模块 公用模块 数据库连接页面 Conn asp 层叠样式表页面 Css css 数据转换和图片上传页面 Function asp 常量 文件 adovbs asp 公共页面 Out asp 均为公用页面 其他页面引用它们时直接调用即可 2 前台系统管理模块 前台系统管理模块 新闻发布系统前台管理程序页面流程图 如图 3 4 所示 查查看看评评论论信信息息发发表表评评论论 Show asp 浏浏览览新新闻闻信信息息发发表表评评论论 View asp 浏浏览览版版块块新新闻闻标标题题 List asp 浏浏览览公公告告信信息息 ViewGonggao asp 搜搜索索新新闻闻 Search asp 新新闻闻发发布布系系统统首首页页 Default asp 保保存存投投票票信信息息 postvote asp 参参加加投投票票 Vote asp 保保存存评评论论信信息息 discussSave asp 查查看看投投票票结结果果 View asp 图 3 4 前台管理程序页面流程图 3 后台系统管理模块 后台系统管理模块 新闻发布系统后台管理程序页面关系图 如图 3 5 所示 Eclipse 从入门到精通 222 新新闻闻发发布布系系统统首首页页 Default asp 新新闻闻版版块块管管理理 AdminBoard asp 新新闻闻信信息息管管理理 AdminNews 公公告告信信息息管管理理 AdminGonggao asp 新新闻闻投投票票管管理理 AdminVote asp 退退出出系系统统 Logout asp 管管理理员员登登录录页页面面 Login asp 检检验验登登录录信信息息 Chklogin asp 新新闻闻添添加加 AdminAdd asp 新新闻闻修修改改 AdminEdit asp 新新闻闻删删除除 AdminDel asp 评评论论修修改改 Editdiscuss asp 评评论论删删除除 Deletediscuss asp 公公告告删删除除 DelGonggao asp 公公告告添添加加 AddGonggao asp 公公告告修修改改 EditGonggao asp 重重新新投投票票 ReVote asp 新新闻闻版版块块转转移移 AdminChangeClass asp 成成功功 失失败败 浏浏览览版版块块新新闻闻标标题题 List asp 浏浏览览评评论论信信息息发发表表评评论论 Show asp 浏浏览览新新闻闻信信息息发发表表评评论论 View asp 保保存存评评论论信信息息 discussSave asp 修修改改信信息息 ModifyAdmin asp 图 3 5 后台管理程序页面流程图 第 18 章 常用插件扩展点 223 3 2 2 各页面功能分配 该系统页面功能如下所示 Conn asp 数据库连接的基本信息 Css css 层叠样式表文件 定义页面风格 adovbs asp 把图片上传到论坛 此上传组件是系统自带的 Function asp 获取服务端相对图片路径 上传图片和 unHtml 字符格式转换 Out asp 是 Default asp List asp View asp 和 ViewGonggao asp 页面的公共页面部分 Default asp 新闻发布系统首页 显示所有新闻类别及部分新闻标题并且滚动显示最新公告标 题和系统访问量 List asp 分页显示系统中各版块新闻的标题信息 View asp 显示新闻的详细信息并且在该页面可以直接发表评论 Show asp 显示新闻评论信息并且在该页面可以直接发表评论 DiscussSave asp 检验并保存用户发表的评论信息 ViewGonggao asp 显示公告的详细信息 Search asp 搜索系统内符合指定条件的新闻标题 Vote asp 用户参加投票 PostVote asp 检验并保存用户投票的 IP 地址 ViewVote asp 显示投票结果 Login asp 管理员登录 ChkLogin asp 检查管理员登录信息 ModifyAdmin asp 管理员修改账号和密码信息 AdminBoard asp 管理员对新闻类别进行添加 修改和删除等操作 AdminNews asp 显示所有新闻标题并实现自动分页 AdminAdd asp 管理员添加新闻信息 AdminEdit asp 管理员修改指定的新闻信息 AdminDel asp 管理员删除指定的新闻信息 AdminChangeClass asp 管理员对相应新闻信息作类别移动操作 AdminGonggao asp 显示所有公告标题并实现自动分页 AddGonggao asp 管理员添加公告信息 EditGonggao asp 管理员修改指定的公告信息 DelGonggao asp 管理员删除指定的公告信息 AdminVote asp 管理员对投票项目进行添加 修改和删除等操作 ReVote asp 重新投票 Editdiscuss asp 管理员修改指定的评论信息 Deletediscuss asp 管理员删除指定的评论信息 Logout asp 管理员退出已登录状态 并返回到系统首页 6 2 3 前台浏览与发表评论流程 前台浏览与发表评论流程图 如图 3 6 所示 Eclipse 从入门到精通 224 访访问问新新闻闻发发布布系系统统 否否 发发表表评评论论 用用户户浏浏览览 选选择择要要浏浏览览的的栏栏目目 选选择择子子栏栏目目或或文文章章 添添加加评评论论 是是 浏浏览览评评论论 结结束束 发发表表评评论论 添添加加评评论论 是是 否否 图 3 6 前台浏览与发表评论流程图 3 3 数据库设计 3 3 1 数据库设计思想 系统采用 SQL Server2000 作为后台数据库 通过分析要在数据库中存储以下基本信息 管理员信息 管理员编号 管理员账号 管理员密码 新闻版块信息 版块编号 版块名称 新闻信息 新闻编号 新闻所属类别编号 新闻标题 新闻内容 新闻图片相对路径 添加 修改时间 点击率 第 18 章 常用插件扩展点 225 新闻评论信息 评论编号 评论对应的新闻编号 评论人姓名 评论内容 添加 修改时间 公告信息 公告编号 公告标题 公告内容 公告图片相对路径 添加 修改时间 点击率 投票项目信息 投票项目编号 投票项目名称 投票数 投票 IP 地址信息 IP 地址编号 IP 地址 投票时间 通过以上的分析该系统需要创建七个数据表 管理员信息表 adminInfo 用于存储管理员编号 管理员账号 管理员密码 新闻版块信息表 newsclassInfo 用于存储版块编号 版块名称 新闻信息表 newsInfo 用于存储新闻编号 新闻所属类别编号 新闻标题 新闻内容 新闻图 片相对路径 添加 修改时间 点击率 新闻评论信息表 discussInfo 用于存储评论编号 评论对应的新闻编号 评论人姓名 评论内 容 添加 修改时间 公告信息表 gonggaoInfo 用于存储公告编号 公告标题 公告内容 公告图片相对路径 添 加 修改时间 点击率 投票项目信息表 VoteItem 用于存储投票项目编号 投票项目名称 投票数 投票 IP 地址信息表 VoteIP 用于存储 IP 地址编号 IP 地址 投票时间 上述七个数据表的连接关系如下 新闻信息表 newsInfo 与新闻版块信息表 newsclassInfo 通过版块编号建立连接关系 新闻信息表 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号设为主键且自动编号 Eclipse 从入门到精通 226 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评论者不允许为空 第 18 章 常用插件扩展点 227 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地址编号设为主键且自动编号 Eclipse 从入门到精通 228 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 inc adovbs inc 是常量文件 是 IIS PWS 所提供的文件 存放着 ADO 相关常数的定义 使用 inc 文件 可以使我们的程序 增加可读性 更易于开发和维护 这个文件在 C Program Files Common Files SYSTEM ADO 下在使用的时候把它拷贝到虚拟目录下即可 adovbs inc 是将常用参数定义为常量放在包含文件中 使用该参数时 调用这个常量就行了 这样 就可以当你需要改变这个参数时 不需要修改程序 只要修改包含文件中常量的值 adovbs inc 包含的 是一些常用的 const 参数和其对应的值的对照声明 在你使用这些 const 参数的时候必须包含 adovbs inc 否则程序将无法获悉这些 const 参数的值是多少 这个文件在下面讲解的数据转换和上传图片页 Function asp 将用到 调用 adovbs inc 文件 代码如 下所示 页面设计效果 由于该页面没有任何 html 代码 也没有任何 asp 的输出显示代码 所以浏览该页 面时没有任何效果 3 4 4 数据转换和上传图片页 Function asp 系统中还需要一些转换函数进行数据转换 以及获取服务器端相对图片路径 上传图片等 由于 这些函数在后面的几个页面中被多次用到 所以将它们单独取出来 保存在 Function asp 中 Function asp 的代码如下所示 功能 取得服务端相对图片路径使图片能正常显示 定义一个 GetFileName 函数 该函数的作用是取得服务端相对图片路径 设置一个参数 imagespath 该参数指图片路径 Function GetFileName imagespath 如果图片不为空 则取得服务端图片相对路径 If imagespath Then GetFileName UpImages 把信息内容中的 把信息内容中的 把信息内容中的 转换成 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 asp Out 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 Response Write 本版块暂无新闻 Response Write Else 如果记录集不为空 则循环显示该版块新闻标题名称 Do While not Rs2 EOF a href View asp classid a href List asp classid 新闻统计 新闻总条数 条 Eclipse 从入门到精通 234 新闻总类别 类 由于 Default asp List asp View asp 和 ViewGonggao asp 页面的顶部和左部设计都是相同的 所 以将这两个部分的代码单独取出来 这样在其他页面要用到此部分时 只是先按下面方法加载一次 然后在页面的相应位置按如下方法调用 Out asp 页面的相应过程即 Top Lefts 即可 或 这样做有两个好处 一是节省了代码行数 减少工作量 二是便于修改 页面设计效果 由于该页面没有任何 html 代码 也没有任何 asp 的输出显示代码 所以浏览该页 面时没有任何效果 3 5 用户浏览模块 此模块包括系统首页 版块新闻标题浏览 新闻详细信息浏览 新闻评论信息浏览 公告信息浏 览 此模块负责版块新闻标题信息的显示 新闻详细信息的显示 新闻评论信息的显示 公告信息的 显示 该系统中所有的新闻信息和新闻评论信息以及版块信息和公告信息全在此模块中显示 用户在 浏览新闻信息的同时还可以发表评论 访问者和管理员进入该系统必须首先进入该模块 此模块包括 系统的首页 该页面显示所有新闻类别及部分新闻标题 3 5 1 系统首页 Default asp Default asp 是新闻发布系统首页 在系统首页显示企业或者个人信息最新公告 最新公告像 跑 马灯 一样由右至左动态显示 在系统首页显示所有新闻类别及最新新闻动态和热贴排行 当单击新 闻动态上的更多链接时 转到新闻标题页面 显示更多的新闻信息 在页面的左下方显示系统当前访 问量 在新闻系统首页的右侧主要显示了三部分的信息 一是热点新闻 即每个新闻类别中点击率最高 的新闻 二是最新公告 采用滚动的方式显示公告标题并设置超链接 三是每个新闻类别中最新的 3 条新闻 页面显示效果图 如图所示 3 7 所示 第 18 章 常用插件扩展点 235 图 3 7 系统首页显示效果图 当管理员登录后访问该页面其他部分不变 只是导航栏上显示管理和退出按钮 如图 3 8 所示 图 3 8 系统首页显示效果图 下面介绍 Default asp 的主要代码 页面代码分析如下所示 1 连接数据库 定义页面风格 进行数据转换和调用导航栏 连接数据库 定义页面风格 进行数据转换和调用导航栏 页面设计 此系统的设计是把所有的新闻信息 版块信息等全部保存在数据库中 此页面要显示 新闻信息版块的名称等内容 就必须和数据库相连 所以此页面要引用数据库连接页 由于该页面从 数据库读取信息需要把 unHTML 格式的字符转换成 HTML 格式的字符使其能正常显示所以要进行数据 转换 为了使该留言板系统界面美观 风格统一所以要统一定义页面风格 代码如下所示 Eclipse 从入门到精通 236 2 调用公共版面部分 调用公共版面部分 页面设计 此页用到了版面的公共部分 所以要引用版面公共页 首先调用 Out asp 页面 然后在 相应位置调用 Top 和 Lefts 代码如下所示 3 显示热点新闻 显示热点新闻 页面设计 热点新闻显示每个新闻类别中点击率最高的新闻 采用动态循环显示出所有新闻类别 中点击率最高的新闻标题并设置相应的超链接 在程序中首先从新闻新闻版块信息表 newsclassInfo 中 把每个新闻版块取出来 然后根据版块编号在新闻信息表 newsInfo 中把相应的点击率最高的新闻信息 取出来 最后在热点新闻栏中显示版块名称 相应新闻标题 新闻添加 修改时间 点击率 代码如下所示 热点新闻 a href View asp classid 点击 次 在程序清单中使用了一个 do while loop 循环语句 用来循环输出新闻版块信息 其中在输出相应 的点击率最高的新闻信息时 在 select 语句中使用了版块编号 classid 并以点击率进行降序排列 这样 保证了在此新闻版块中显示点击率最高的新闻信息 4 显示最新公告 显示最新公告 最新公告一般用来公布站点性质 站点用途 重大事件等信息 动态显示站点最新公告实现非常 简单 在站点的首页面可以把一个包含文件代码放到要显示最新公告的地方 就可以很快捷的实现这 种效果 页面设计 把最新公告从公告信息表 gonggaoInfo 中取出来 滚动显示公告标题并设置相应链接 当单击公告标题时 即可进入链接页面 代码如下所示 最新公告 把公告信息取出来 动态显示公告标题并设置相应链接 设置水平至左滚动 滚动两次之间的延迟时间为 10 秒 滚动字幕一次滚动的距离为 1 字符 response write set Rs server CreateObject adodb recordset 创建记录集对象 把公告信息取出来 sql select from gonggaoInfo Rs open sql conn 1 1 把取出的公告信息放在记录集中 Do While not Rs EOF 循环显示公告标题并设置链接 response write Rs MoveNext loop rs close set rs nothing response write 滚动字幕参数说明 direction 属性设置字幕内容的滚动方向 scrollamount 用于设定活动字幕一次滚动的距离 scrolldelay 用于设定滚动两次之间的延迟时间 onmouseOver 事件设置鼠标移动到滚动字幕时的动作 常设置为停止滚动 onmouseOut 事件设置鼠标离开滚动字幕时的动作 常设置为开始滚动 loop 用于设定滚动的次数 当 loop 1 表示一直滚动下去 直到页面更新 在程序清单中 使用 response write 方法输出 HTML 代码 其中 marquee 为运动字幕标签 只要把 其 direction 属性值设置为 left 字幕就会由右至左水平滚动 然后创建 Rs 记录集 调用数据库中的最 新 公告信息 使用 response write 方法 把此信息动态的输出到公告栏中 5 显示最新新闻动态 显示最新新闻动态 在站点首页 新闻动态用来显示所有发布的新闻信息中的最新情况 在新闻动态中每一个类别只 显示最新的三条新闻信息 而任何一个类别中没有添加新闻时 会在新闻类别中显示本新闻版块暂无 新闻信息 页面设计 把新闻类别从版块信息表 newsclassInfo 中取出来 动态循环显示类别名称 然后根据 版块编号在新闻信息表 newsInfo 中把相应的最新三条新闻信息取出来 最后在最新新闻动态栏中显示 相应新闻标题 新闻添加 修改时间 代码如下所示 最新 第 18 章 常用插件扩展点 239 根据版块编号把相应的新闻信息取出来 classid1 Rs1 classid 在页面右侧显示每个新闻类别下的相应新闻信息 Set Rs2 Server CreateObject ADODB Recordset 创建记录集 把新闻信息表中最新的三条信息取出来 Sql2 Select Top 3 From newsInfo Where classid Response Write 本新闻版块暂无新闻信息 Response Write Else 如果记录集不为空 则循环显示最新三条新闻信息 Do While not Rs2 EOF a href View asp classid a href List asp classid 更多 Eclipse 从入门到精通 240 在程序清单中动态循环显示出所有的新闻类别 这样摆脱了一次次重复使用代码来显示新闻类别 在程序清单中使用了两个 do while loop 循环语句 第一个用来循环输出新闻类别 第二个用来在新闻 类别中循环输出此类别的新闻信息 其中在输出新闻信息时 在 select 语句中使用了 top 3 并以时间 进行降序排列 这样既保证了在此新闻类别中显示三条新闻信息 又保证了显示的为最新信息 3 5 2 版块新闻浏览页 List asp List asp 是版块新闻浏览页 可以显示相应版块的所有的新闻信息 单击首页的 more 链接或者单 击导航栏相应的新闻类别名称即可直接链接到该页面 该页面将数据库中的新闻信息标题以列表的形式显示出来 这样可以在页面中显示更多的新闻信 息 并且在此页面提供链接 可以打开页面浏览新闻详细内容 页面显示效果图 如图 3 9 所示 图 3 9 版块新闻浏览页显示效果图 当管理员登录后访问该页面其他部分不变 只是导航栏上显示管理和退出按钮 下面介绍 List asp 的主要代码 页面代码分析如下所示 1 根据接收的版块编号 查询属于本版块的所有新闻信息并显示出来 根据接收的版块编号 查询属于本版块的所有新闻信息并显示出来 页面设计 首先接收单击首页的 more 链接或者单击导航栏相应的新闻类别名称所传递过来的版块 编号 然后根据版块编号从数据库的新闻信息表 newsInfo 中查询版块的所有新闻信息 为了避免新闻 篇数过多引起的页面过长 页面采用当新闻标题超过 10 条时页面自动实现分页 第 18 章 常用插件扩展点 241 代码如下所示 根据接收的版块编号查询所有相应的新闻信息 Dim i j 声明变量 Dim Page Set Rs Server CreateObject ADODB Recordset 创建记录集对象 把新闻信息按照新闻编号的降序从数据表中取出来 Sql Select From newsInfo Where classid Response Write 本版块暂无新闻 Response Write Else myPageSize Rs PageSize 设置参数 myPageSize 并且赋值 Rs AbsolutePage Page 设置当前页码为 Page Do While not Rs Eof And myPageSize 0 循环显示当前页的记录 Eclipse 从入门到精通 242 a href View asp classid 点击 次 每页显示条 该栏目有条新闻 第页 共 页 在程序清单中同样先判断是否有此版块新闻信息 如果无则显示 本版块暂无新闻 如果有 则用循环语句 Do While not Rs Eof And myPageSize 0把相应版块的所有新闻信息显示出来 2 显示分页页码并设置相应的链接 显示分页页码并设置相应的链接 页面实现分页的重要步骤就是传递参数 由于此页面是根据版块编号来显示相应的新闻信息 所 以该页面实现分页要传递的参数必须为版块编号 classid 和页码 page 页面设计 总页数小于等于 4 时则显示 1 2 3 4 阿拉伯数字 当点击下一页时则显示 1 2 3 4 页数大于 4 页时则显示 1 2 3 4 当点击下一页时则显示 1 2 3 4 注 是首页图标 是上一页图标 是下一页图标 是最后页图标 代码如下所示 1 Then Response Write End If 3 5 3 新闻详细信息浏览页 View asp View asp 是新闻详细信息浏览页 用于显示新闻内容和其他新闻信息 单击首页的新闻标题链接 或者版块新闻浏览页的新闻标题链接即可直接链接到该页面 该页面设置了发表评论表单 浏览者在浏览新闻的同时可直接发表评论 该页面还设置了查看新 闻评论链接 浏览者在浏览新闻的同时还可单击查看新闻评论链接查看新闻评论 页面显示效果图 如图 3 10 所示 Eclipse 从入门到精通 244 图 3 10 新闻详细信息浏览页显示效果图 当管理员登录后访问该页面其他部分不变 只是导航栏上显示管理和退出按钮 页面控件及功能如表 3 8 所示 表 3 8 新闻详细信息浏览页页面控件及功能 对 象功 能 表格用于控制页面显示信息位置 表单名称为form1 提交目标网页为discussSave asp 数据采用隐式传递方 式 文本框名称为name 用于输入评论者姓名 文本域名称为content 用于输入评论内容 按钮单击 提交 按钮提交表单 按钮单击 重置 按钮清空文本框控件或文本域控件的内容 下面介绍 View asp 的主要代码 页面代码分析如下所示 1 根据接收的新闻编号和版块编号 查询新闻信息并显示出来 根据接收的新闻编号和版块编号 查询新闻信息并显示出来 页面设计 首先接收单击新闻标题链接所传递过来的版块编号和新闻编号 然后根据版块编号从 数据库的版块信息表 newsclassInfo 中查询相应的版块信息并显示版块名称 然后根据新闻编号从数据 第 18 章 常用插件扩展点 245 库的新闻信息表 new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证券从业资格考试个人端及答案解析
- 两周证券从业考试及答案解析
- 外科护理学名词解释题库及答案解析
- 2025北京思源同创科技有限责任公司招聘考试模拟试题及答案解析
- 2025下半年四川阿坝州人力资源和社会保障局考试招聘事业单位工作人员257人考试参考试题及答案解析
- 2025四川宜宾高县国盛劳务派遣有限责任公司招聘劳务派遣人员3人考试模拟试题及答案解析
- 鸡西会计从业资格证考试及答案解析
- 2025重庆荣昌区事业单位年面向“三支一扶”人员招聘14人考试参考题库及答案解析
- 2025海南屯昌县农业发展有限公司招聘工作人员(第4号)考试模拟试题及答案解析
- 天津非开挖定向施工方案
- 疏浚管线工技能操作考核试卷及答案
- 粮仓建筑施工管理办法
- 2025项目管理考试题及答案
- 医院手术室质控体系构建与管理
- 喷涂基础知识培训课件
- 2025年驻外内聘考试题库
- 中铁四局工作汇报与战略规划
- 矿山测量基础知识课件
- 【《上市公司财务造假分析的国内外文献综述》5100字】
- 企业融资培训课件
- 2025年抗菌药物合理使用培训
评论
0/150
提交评论