C语言学习系统设计----论坛系统的设计-毕业论文_第1页
C语言学习系统设计----论坛系统的设计-毕业论文_第2页
C语言学习系统设计----论坛系统的设计-毕业论文_第3页
C语言学习系统设计----论坛系统的设计-毕业论文_第4页
C语言学习系统设计----论坛系统的设计-毕业论文_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文本科毕业论文 (科研训练、毕业设计) 题题 目:目:C 语言学习系统设计语言学习系统设计 姓 名: 学 院:软件学院 系: 专 业:软件工程专业 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 C 语言学习系统 软件学院 03 级转专业 谢也路 2 C C 语语言言学学习习系系统统设设计计 - - - - -论论坛坛系系统统的的设设计计 摘要摘要 近些年来信息技术蓬勃发展,将先进的信息技术运用于高校教学实践,使用计算机和 互联网来实现某些传统教学任务,已经成为一种趋势。互联网的及时、迅速、便捷、安全等 优点随着各种网页技术的发展和各种信息系统的使用而体现的越为明显。本文介绍了使用 ASP (Active Server Page) 技术和 SQL Server 数据库实现 C 语言学习系统的构建,为广大希 望掌握 C 语言技术的学生提供一个良好的学习和交流平台。本学习系统主要功能模块包括 教学课件系统、学习论坛系统、在线测试系统、教学资料下载系统等,学员可以通过注册帐 号来参与到系统的各种功能中,教师同样可以通过管理员帐号对各种资料数据进行操作,使 得教与学更加方便迅速。 关键词关键词: ASP VBScript HTML SQL Server 论坛 C 语言学习系统 软件学院 03 级转专业 谢也路 3 The Design of C Language Study System Design of the Forum Module Abstract: With the soaring advancement of Information Technology these years,it has been a popular trend to employ new innovations in college teaching and studying activities,using computers and the Internet to accomplish teaching tasks which may be met with traditional ways in the past.Swift,convenient,secure and time-saving,all these strongpoints of the Internet have become more and more obvious with the developments of all sorts of Web-based systems and information systems as the proof.This article will introduce the combination of ASP technology and SQL Server database to construct a C Language Study System that is expected to be a platform for those who wish to master C language or to exchange ideas with their co-workers. The study system is composed of the following modules:Lecture Notes System,Study Forum System,Online Exam System and Downloading System.The students are supposed to create their own user ID to be included in all the functions provided,while the teacher can operate the existing data using his/her manager ID.All of these above are expected to make the process of teaching and learning quick and efficient. Keywords: ASP VBScript HTML SQL Server Forum C 语言学习系统 软件学院 03 级转专业 谢也路 4 目录目录 第一章第一章 引言引言5 1.1 需求的提出.5 1.2 系统的定位.5 第二章第二章 系统的总体设计系统的总体设计6 2.1 软件 DREAM WEAVER 介绍.6 2.2 ASP 技术介绍6 2.3 SQL SERVER 数据库介绍8 2.4 利用 ASP 访问 SQL SERVER 数据库.9 2.5 BROWSER/SERVER 模式介绍11 2.6 模块功能简介.13 第三章第三章 系统的详细设计系统的详细设计14 3.1 界面结构与设计.14 3.1.1 系统主界面.14 3.1.2 页面结构.14 3.1.3 各页面的连接.15 3.2 数据库的设计.16 3.2.1 数据库的表.16 3.2.2 数据库操作语句.18 3.3 各模块功能的具体实现.19 3.3.1 注册与登陆.19 3.3.2 发帖与回帖.20 3.3.3 搜索功能.21 3.3.4 作业上传功能.22 3.3.5 管理员界面.24 3.3.6 最新帖子与最热帖子.26 3.3.7 其他功能.27 第四章第四章 系统的运行结果系统的运行结果29 第五章第五章 结束语结束语29 致谢致谢29 参考文献参考文献30 附录附录30 C 语言学习系统 软件学院 03 级转专业 谢也路 5 第一章第一章 引言引言 1.11.1 需求的提出需求的提出 随着国家科学技术的进步和综合国力的增强,社会对高素质人才的培养,在质量和数 量上都提出了新的要求。由于传统的教育模式即校内课堂教育需要投入巨额资金和大量高水 平的教师,因此传统的教育模式在短期内难以得到大规模的发展,此外,校内课堂教育也难 于满足学生在课外时间对课堂知识的消化吸收。近年来,随着网络技术的发展和网络应用的 普及,网络教育被认为是网络时代的新的教育形式,正在迅速发展,网络教育可以利用网络 的丰富教学资源,提供各种形式的教学活动。如何处理好网络教育中学生在学习中遇到的问 题是衡量网络教育效果的关键,所以说,学习系统提供的各种在线教学功能是网络教育中的 重要一环。 为此,我们开发此 C 语言学习系统,通过网络给学生和教师提供一个远程交互的平台, 使得教学过程变得方便快捷。 1.21.2 系统的定位系统的定位 本学习系统是的定位是为广大 C 语言学习者提供一个交流学习的平台。系统主要的功能, 包括论坛系统和在线测试等实现了无纸操作,目的在于有效地提高学生的学习效率,实现在 线答疑和自测功能,使学生能够及时可靠地针对自己知识系统不足之处进行改正。 本系统的定位还在于提供一个师生交流的平台。随着学生数量的增加,传统的教学方式 使得教师的批改任务繁重。使用网上作业上传功能可让教师及时地了解到学生的作业完成情 况,并能够对作业进行在线修改和评语,减少了学生得到反馈信息的时间,也提高了教师批 改作业的效率。 C 语言学习系统 软件学院 03 级转专业 谢也路 6 第二章第二章 系统的总体设计系统的总体设计 2.12.1 DreamweaverDreamweaver 介绍介绍 Dreamweaver 是 MACROMEDIA 公司开发的集网页制作和管理网站于一身的所见即所得网 页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻 而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。 最佳的制作效率最佳的制作效率 Dreamweaver 可以用最快速的方式将 Fireworks,FreeHand,或 Photoshop 等档案移至网 页上。使用检色吸管工具选择颜色可设定最接近的网页安全色。对於选单,快捷键与格 式控制,都只要一个简单步骤便可完成。Dremweaver 能与您喜爱的设计工具,如 Playback Flash,Shockwave 和外挂模组等搭配,不需离开 Dremweaver 便可完成,整体 运用流程自然顺畅。除此之外,只要单击便可使 Dreamweaver 自动开启 Firework 或 Photoshop 来进行编辑与设定图档的最佳化。 网站管理网站管理 使用网站地图可以快速制作网站雏形,设计,更新和重组网页。改变网页位置或档案名 称,Dreamweaver 会自动更新所有连结。使用支援文字,HTML 码,HTML 属性标签和 一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。 控制能力控制能力 Dreamweaver 是唯一提供 Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。 它包含 HomeSite 和 BBEdit 等主流文字编辑器。帧(frames)和表格的制作速度快的令您 无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续选取。甚至可以 排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以 拖拉置放的方式进行版面配置。 所供即所得所供即所得 Dreamweaver 成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给 Third-party 厂商,当使用 Dreamweaver 在设计动态网页时,所供即所得的功能,让您 不需要透过浏览器就能预览网页 2.22.2 ASPASP 技术介绍技术介绍 .1 ASPASP 基础基础 C 语言学习系统 软件学院 03 级转专业 谢也路 7 Microsoft Active Server Pages,即读者朋友们所称的 ASP,是一套微软开发的服务器 端脚本环境,ASP 内含于 IIS 之中,最新版的 ASP 3.0 内含于 IIS 5.0 之中。通过 ASP 大家 可以结合 HTML 网页、ASP 指令和 ActiveX 控件建立动态、交互且高效的 WEB 服务器应用程 序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将 在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将 执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的 速度。 ASP 总结起来有以下特点: 使用 VBScript、JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网 站的应用程序。 无须编译,容易编写,可在服务器端直接执行。 使用普通的文本编辑器就可编写,为了更好地进行团队开发,微软特别开发一套开发工 具 Visual InterDev,它是一个集成的 Web 应用软件开发系统,包括开发、发行、以及管 理数据库驱动的 Web 应用软件所需的所有功能。 ASP 所使用的脚本 VbScript、JScript 均在 Web 服务端执行,用户端的浏览器不需要能 够执行这些脚本语言。 ASP 的源程序不会被传到客户端浏览器,因而可以避免所写的程序被他人剽窃,从而提 高了网站的安全性。 ActiveX Server Components 具有无限的可扩充性。可以使用 Visual Basic、Java、Visual C+、CoBol 等编程语言来编写你所需要的 ActiveX Server Component。 ASP 程序中可以包含纯文本、HTML 标记以及脚本命令。你只需将.asp 程序放在 Web 服务器的虚拟目录下(该目录必须要有可执行的权限) ,就可以通过 WWW 的方式访问 ASP 程序了。 .2ASPASP 的五大对象的五大对象 Request Object C 语言学习系统 软件学院 03 级转专业 谢也路 8 集合:querystring、Form、cookies、Servervariable 主要作用:读取提交表单中的数据或 cookies 中的数据。 Response Object 属性: buffer、cookies、ContentType、Expires、ExpiresAbsolute、Status、IsClientConn ected、CacheControl 方法: write、redirect、end、flush、cookies、BinaryWrite、AddHeader、AppendToLog 主要作用:向浏览器输出文本、数据和 cookies 以及控制在传送网页过程中的每一个阶 段。 Server Object 属性:scripttimeout 方法:CreateObject、mappath、URLencode、HTMLencode 主要作用:创建 COM 对象和 Scripting 组件等。 Application Object 属性:lock 和 unlock 主要作用:Application 对象被用于放在同一个应用中多个用户之间的共享信息。 Session Object 属性:SessionID 和 TimeOut 方法:Abandon 主要作用:为单个用户保持数据。 2.32.3 SQLSQL ServerServer 数据库介绍数据库介绍 C 语言学习系统 软件学院 03 级转专业 谢也路 9 SQL Server 作为微软的产品一经推出就以其非常好的易用性和卓越的性能赢得了广大 用户的青睐,尤其是在中小型企业中 SQL Server 的应用更是普遍。它不仅可以运行在 Windows 2000 的大型多处理器的服务器中,就连运行 Windows 98 的膝上型电脑上用户也 能轻松拥有。由于其本身的高性能、高可靠性、高质量和高易用性等优点使得逐步成为大规 模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台,其主要特点包 括如下: Internet 集成:SQL Server 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。 可伸缩性和可用性:同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处 理器服务器。SQL Server 企业版支持联合服务器、索引视图和大型内存支持等功能, 使其得以升级到最大 Web 站点所需的性能级别。 企业级数据库功能:SQL Server 关系数据库引擎支持当今苛刻的数据处理环境所需的功 能。SQL Server 分布式查询使开发人员得以引用来自不同数据源的数据,就好象这些 数据是 SQL Server 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更 新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。 可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的 修改合并回发布服务器。 易于安装、部署和使用:SQL Server 中包括一系列管理和开发工具,这些工具可改进在 多个站点上安装、部署、管理和使用 SQL Server 的过程。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 数据仓库:SQL Server 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。 SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分 析数据。 SQL Server 数据库、服务器、客户端三者的关系如下图所示: 图 2.3.1 SQL Server 连接示意图 2.42.4 利用利用 ASPASP 访问访问 SQLSQL SERVERSERVER 数据库数据库 C 语言学习系统 软件学院 03 级转专业 谢也路 10 .1 ODBCODBC 和和 ADOADO ODBCODBC(Open Database Connectivity),是 Microsoft Windows 的开放服务体系(WOSA)的 标准组成部分,是被人们广泛接受的用于数据库访问的应用程序编程接口(API)。ODBC 是为 最大的互用性而设计的,给一个应用程序用相同的源代码访问不同的数据库管理系统(DBMS) 的能力。数据库应用程序在 ODBC 接口中调用函数,ODBC 接口在叫做驱动程序的针对数据库 的模块中实现。驱动程序的使用使应用程序从具体的数据库调用中隔离开来。因为驱动程序 在运行时才加载,所以,用户只需要增加一个新的驱动程序来访问新的 DBMS,没有必要重新 编译或者重新链接应用程序。 ODBC 接口使得应用程序可以访问各种存放在任何数据库管理系统(DBMS)的关系数据。 ODBC 已成为一种被广泛接受的获取数据的应用程序的接口(API) 。 ADOADO(ActiveX Data Object)是 ASP 内置的 ActiveX 数据对象,它实际是一个基于 ODBC 数据接口的应用程序方法。ADO 可以使用任何一种 ODBC 数据源和任何经过 OLE DB 界 面接口的数据源,即不止适合于 SQL Server、Oracle、Access 等数据库应用程序,也适合 于 Excel 表格、文本文件、图形文件和无格式的数据文件。ADO 是基于 OLE-DB(是一种底层 数据访问界面接口,用于第三方驱动程序商家开发输出数据源到 ADO-技术的应用程序或用 于 C的开发者开发定制的数据库组件。OLE DB 不能被 VB 直接调用)之上的技术,因此 ADO 通过其内部的属性和方法提供统一的数据访问接口方法。 ADO 提供了以下七个对象:Connection, Command, Parameter, Recordset, Field, Property, Error。ADO 的核心是 Connection, Recordset 和 Command 对象。ADO 的对象可 以在所有支持 COM 和 OLE 的平台上使用,如:VB,VC+, VBScript,Java 等等。 若 ASP 文件中的 Script 程序使用了 ADO 对象,则 Web 服务器会根据 ADO 对象所设置的 参数来启动对应的 ODBC 驱动程序,而启动 ODBC 驱动程序之后,程序可以直接利用 ADO 对象 来访问数据库,或通过 ADO 对象来发送 SQL 指令,进而达到存取数据库的目的;最后如果有 数据必须显示在浏览器上,则 Script 程序会利用 ASP 所提供的输出对象送出数据,然后由 Web 服务器传送给浏览器。 图 2.4.1 ASP 连接数据库的流程图 .2 在在 ASPASP 中数据库连接的两种方法中数据库连接的两种方法 1、直接用字符串链接,代码如下: 2、利用 DSN(数据源)链接,这种方法你要先创建一个 DSN,创建方法点击服务器/控制面 板/管理工具/数据源 (ODBC)图标,打开数据源管理器,在系统 DSN 选项卡中创建一个 SQL Server 的数据源。链接代码如下: .3 通过通过 OLEDBOLEDB 连接数据库连接数据库 ADO 和 DAO 的最大区别是 ADO 使用 OLEDB 接口而非 ODBC 作为底层数据供应者的。依靠 OLEDB,ADO 也能够支持对非 SQL 数据存储的纪录集访问,如 Email 和网络目录服务。OLEDB 提供了比 ODBC 更多的灵活性和易用性。OLEDB 服务的内部设计使得它能存取标准 SQL 类型 的数据那样容易的访问非 SQL 数据存储。OLEDB 的一个关键特性是它可以提供对描述性数据 存储的处理。通过提供某种方法来描述数据存储方式,OLEDB 可以对以任何格式存储的数据 和以任何方法执行的查询提供访问途径。由于 OLEDB 并不要求所有数据存储都以表格、行和 列的形式出现。所以与 ODBC 相比,它适用于更多的数据存储类型。 本系统采用了速度更快的 OLEDB 提供者技术取代 DSN 连接数据库。OLEDB 处于 ODBC 层 和应用之间。对于 ASP 页面来说,ADO 是 OLEDB 上面的一种“应用” 。ADO 调用首先发送给 OLEDB,然后才被发送给 ODBC 层。但是我们也可以直接连接到 OLEDB 层,而且如果这么做了, 我们会发现性能的进一步提升。 通过 OLEDB 直接连接 SQL Server 的语法如下: strConnString =“Provider=SQLOLEDB.1;Password=mypassword;“ User ID=myuid;“ “ Connect Timeout=15“ 2.52.5 Browser/ServerBrowser/Server 模式介绍模式介绍 .1 Browser/ServerBrowser/Server 模式的三层结构模式的三层结构 在过去几年里,Client/Server 结构为实现企业级的信息共享起到了举足轻重的作用, C 语言学习系统 软件学院 03 级转专业 谢也路 12 但随着应用程序复杂程度的不断提高,传统的 Client/Server 结构暴露出了许多问题。当用 户的需求改变时,Client 端应用软件可能需要增加新的功能或修改用户界面,那么该软件 的应用范围越广,软件维护的开销也就越大。随着计算机的普及、互联网的飞速发展,了解 和使用 Internet 的人数大幅增加,人们寻求到一种比传统的模式更加经济的解决方案 Browser/Server 解决方案。它一方面降低了成本,一方面提高了系统的可扩展性。 Browser/Server 模式是由传统的两层 Client/Server 结构发展而来的三层 Client/Server 结构在 Web 上的应用。Browser/Server 体系结构把 Client/Server 结构中的事务处理逻辑 模块从客户机的任务中分离出来,由 Web 服务器来承担,大大减轻了客户机的压力。 图 2.5.1 Browser/Server 模式三层结构 图中从左到右,分为三个层次: 第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在 客户端向指定的 Web 服务器提出服务器请求,Web 服务器用 HTTP 协议把所需文件资料传给 用户,客户端接受并显示在 WWW 浏览器上; 第二层 Web 服务器是功能层,完成客户的应用功能,即 Web 服务器接受客户请求,并与 后台数据库连接,进行申请处理,然后将处理结果返回 Web 服务器,再传至客户端; 第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。 与传统的 C/S 模式相比,B/S 结构把处理功能全部移植到了服务器端,用户的请求通过 浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次 化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。 由以上的比较分析可知,三层结构也可以理解为增加 WEB 服务器的 C/S 模式。 Browser/Server 结构的优点可以归纳为: 1. 无需不断升级客户机的硬件设备 通常,企业会给每个员工配备一台个人计算机,而由于应用软件的更新,不断提高了对 计算机性能的要求,每隔一段时间就面临着升级或购买新硬件的问题。采用 Browser/Server 模式,不需要购买或升级硬件,只要运行最新版的软件即可,在一定程度 上拓展了计算机的生命周期。 2. 简化了客户端的安装、配置 由于 Browser/Server 是建立在广域网基础上的,有比 Client/Server 系统更强的适应范 围,客户端只需装有操作系统和通用浏览器即可,不必特别安装应用软件、数据库接口等, 有效节省了人力和时间。 3. 显著降低了系统开发费用 如果开发了新的应用,就需要为客户使用的每一种不同的操作系统和版本创建和测试客 客户端 WEB 服务器后台数据库 客户端 C 语言学习系统 软件学院 03 级转专业 谢也路 13 户软件。Browser/Server 模式允许在不依赖系统平台的情况下快速开发应用,应用完全在 服务器端执行,客户端只有按键或点击鼠标时才向服务器发送请求,通过有效的网络协议和 瘦客户软件将请求的信息返回到客户端显示。这样开发者可以更好服务用户,用户也能够更 容易访问应用和数据,并且提高了系统的性能和安全性。 4. 大大减少了维护人员的工作量 由于客户端不再担负数据访问和复杂数据计算等任务,只负责显示,而把事务处理逻辑 放于服务器端,从而充分发挥了服务器的强大作用。这样一方面大大降低了对客户端的要求, 另一方面也把技术人员从繁重的维护升级工作中解脱出来,使维护人员不再为程序的维护工 作奔波于各个客户机之间,而每一次升级软件只需要更新服务器端程序就可以了。 Browser/Server 体系结构紧密结合了 Internet/Intranet 技术,是未来发展的趋势,虽 然目前看来在技术方面还存在一些问题,但毫无疑问,Browser/Server 模式将以其良好的 可扩展性、超越地理位置限制等优势,成为应用系统发展的必由之路 .2 Browser/ServerBrowser/Server 模式的模式的 HTTPHTTP 的客户请求的客户请求/ /服务器响应服务器响应 在 B/S 层次的结构体系中,客户端的请求都是通过浏览器发出 HTTP 的请求,而服务器 是将后台数据库根据客户端请求运行的结果返回给客户端的浏览器环境中。调用 Request 和 Response 对象可以实现 HTTP 客户请求/服务器响应的机制。 HTML 表单是收集 Web 信息最常用的方法,是在 Web 页上提供用户界面控件的特殊的 HTML 标记的排列。具体的引用方式实例如: password=Request.Form(“password”) 调用 Request 对象的 Form 集合,将表单中值域名为 password 的值赋给变量 password,以便后续的操作可以方便将变量 password 中的值传递给后台数据库中。通过调 用 Request.Form 就实现了 FORM 表单的信息提取。 当服务器端向客户端发送数据时,可以调用 Response 对象。它与 Request 对象形成了 客户请求/服务响应的模式。而且 Response 对象示必须的发送给客户端浏览器的唯一对象。 常用的 Response 响应方法有以下两种: 1. Response.Write 方法: 这是一种最常用的 Response 的响应方法。可以简写为,当后台数据库经过 SQL 语言的处理后的结果要返回 到客户端的浏览器时,在编写 ASP 文件时,就可以使用这个方法显示出相应的记录。通 过它来实现将数据库中原来的记录内容返回到客户端浏览器并显示,这样用户就可以在 读取原来数据并根据需要作出修改。 2. Response.Redirect 方法:这一方法的作用时将指示客户端浏览器重定向到另一 WEB 页 上。语法如下: “Request.Redirect URL” 。通过这样的方法可以方便的引导用户进入 正确的 WEB 页面。 2.62.6 模块功能简介模块功能简介 本系统的主要模块有教学课件系统、学习论坛系统、在线测试系统、教学资料下载系统。 论坛模块中包含的主要功能有注册新用户、登陆系统、搜索帖子、最新帖子、发表和回复帖 子、以及管理员的后台管理等等。具体的分类如下图所示: 主界面 课件浏览论坛系统在线测试 注 册 会 员 登 陆 论 坛 信 息 修 改 搜 索 帖 子 最 新 帖 子 后 台 管 理 更 改 密 码 作 业 上 传 与 批 复 C 语言学习系统 软件学院 03 级转专业 谢也路 14 图 2.6 系统模块结构 第三章第三章 系统的详细设计系统的详细设计 3.13.1 界面结构与设计界面结构与设计 .1 系统主界面系统主界面 系统主界面由一个 html 文件构成,包括课件浏览、注册用户、登陆系统、学习论坛、 在线测试等链接。 登陆论坛后,可由页面链接返回系统主界面。 主界面截图如下: 图 3.1.1 系统主界面 .2 论坛页面结构论坛页面结构 C 语言学习系统 软件学院 03 级转专业 谢也路 15 论坛的主界面主要由三部分构成,分为页头、主体和页尾三部分。页头和页尾分别由各 自的一个 asp 文件完成,并能够在其他文件中调用。 页头部分包含图片和状态信息栏。系统各个界面在不同的登陆状态下所包含的页头界面 是不同的。在用户尚未登陆的的情况下显示的选项有:注册会员,登陆论坛,搜索帖子,课 件浏览,在线测试。在登陆的情况下显示的选项为:用户名,修改简介,更改密码,搜索帖 子,最新帖子,最热帖子,退出论坛,在线测试,后台管理。 主体部分为显示主要内容的部分。系统默认的主体部分显示的是论坛的版块列表,分别 有版块名称、简介、主题数和回复数等四列信息。进入论坛后帖子列表,发帖主界面等都显 示在主体部分。 页尾部分主要提供了厦门大学主页的链接。 主界面在登陆状态下的截图如下所示: 图 3.1.2 论坛主界面 .3 各页面的连接各页面的连接 “注册会员”选项连接的界面是会员注册的表单界面。用户完成合法的会员注册流程后, 系统自动跳转至登陆状态的论坛主界面。 “登陆论坛”选项连接到登陆的主界面,该界面同时还有忘记密码功能,可连接到找回 密码的界面。 “忘记密码”选项为忘记帐号密码的用户提供密码找回功能。用户输入密码保护问题和 答案后系统连接到判断页面,执行判断结果。 “搜索帖子”选项连接到搜索主界面,并能在搜索后连接到结果页面。 “最新帖子”选项能自动搜索数据库并返回若干条最新被回复的帖子并显示至页面。 “最热帖子”选项能自动搜索数据库并返回若干条被浏览次数最多的帖子并显示至页面 “后台管理”选项在管理员帐号登陆后连接到后台管理界面,并可由后台管理界面中的 “转到论坛选项”返回论坛主界面。 “作业上传”选项是专门为学生开辟的以帖子形式上传文件的界面。 “作业上传查看”选项是学生用以查看自己的历史上传记录的界面。每个学生只能查看 以自己帐号上传的作业。 C 语言学习系统 软件学院 03 级转专业 谢也路 16 各功能模块流程示意图如下所示: 图 3.1.3 页面流程 3.23.2 数据库的设计数据库的设计 数据库 注册搜索后台管理登陆 是否合法 是 否 已登陆 搜索结果 是否合法 是 否 C 语言学习系统 软件学院 03 级转专业 谢也路 17 .1 数据库的表数据库的表 论坛系统涉及的表主要有:bankuai、huiyuan、luntan、tiezi、test 等。其中论坛系 统包括前四个表。 bankuai:记录每个论坛版块的信息 huiyuan:记录每个会员的资料、权限及发贴情况等 luntan:记录论坛的基本参数设置 tiezi:所有版内帖子的列表及具体信息 表 Bankuai:每个论坛版块的信息 字段数据类型数据特征说明 xuhaoint 主键 自增 唯一版块的序号 mingzinvarchar(30)Not null 版块的名称 jianjienvarchar(255)Not null 版块的简介 shifougonggaointNot null 是否为公告版 表 Huiyuan: 每个会员的资料、权限及发贴情况 字段数据类型数据特征说明 mingzinvarchar(10) 主键 唯一会员的帐户名 mimanvarchar(20)Not null 会员密码 jianjienvarchar(255)Not null 会员简介 dingtiesmalldatetimeNot null 顶贴日期 quanxianintNot null 会员权限值 mimawentivarchar(50)Not null 密码保护问题 mimadaanvarchar(50)Not null 保护问题答案 表 Luntan: 论坛的基本参数设置 字段数据类型数据特征说明 meiyetiezismallintNot null 每页的帖子数 meiyehuifusmallintNot null 每页的回复数 shanchuushusmallintNot null 删除数 fangwenliangintNot null 访问量 zuixinshusmallintNot null 最新帖显示数 youkefatietinyintNot null 游客是否可发帖 liulanpaixuintNot null 浏览排序 表 Tiezi: 所有版内帖子的列表及具体信息 字段数据类型数据特征说明 xuhaobigint 主键 自增 唯一帖子序号 C 语言学习系统 软件学院 03 级转专业 谢也路 18 xinqingsmallintNot null 心情种类 biaotinvarcharNot null 帖子标题 neirongntextNot null 帖子内容 mingzinvarcharNot null 发帖人姓名 shijiansmalldatetimeNot null 发帖时间 bankuaismallintNot null 所发版块 tiezinvarcharNot null 所在帖子 liulanintNot null 浏览次数 zuihouhuifusmalldatetimeNot null 最后回复时间 shifouhkintNot null 是否作业版 .2 数据库操作语句数据库操作语句 与数据库建立连接与数据库建立连接 1 - 创建 Connection 对象 Set Cnn = Server.CreateObject(“ADODB.Connection“) StrCnn = “Driver=Microsoft Access Driver (*.mdb); DBQ=“ “ 2 - 使用 Connection 对象的 Open 方法打开数据库 Cnn.Open StrCnn Response.Write Server.MapPath(“Directory Name“) “ UID = sa;PWD=;Database=pubs“”的 连接字符串 向数据库中添加新数据向数据库中添加新数据 使用 SQL 语句 StrSQL = “INSERT INTO Table (Field1,Field2,) VALUES(Val1,Val2,)“ Cnn.Execute StrSQL(Cnnonnection 对象) 使用 SQL 语句向 Access 数据库中添加数据时必须使用 Insert Into,而向 SQL Server 数据 C 语言学习系统 软件学院 03 级转专业 谢也路 19 库中添加数据,使用 Insert 就可以了。 修改数据库中已存在的数据修改数据库中已存在的数据 方法一:使用 SQL 语句 使用 Connection 对象的 Execute 方法修改数据 Dim StrSQL, rsTest StrSQL = “UPDATE Table SET EditedField = NewValue WHERE Condition“ Cnn.Execute StrSQL 方法二:使用 Recordset 对象的 Update 方法。 Dim StrSQL, rsTest Set rsTest = server.CreateObject(“ADODB.Recordset“) rsTest.LockType = adLockOptimistic StrSQL = “SELECT Field1,Field2, WHERE Condition“ rsTest.Open StrSQL, Cnn,adCmdText rsTest(“EditField“) = NewValue rsTest.Update 删除数据库中的数据删除数据库中的数据 方法一:使用 SQL 语句。 StrSQL = “DELETE FROM Table WHERE Conditon“ Cnn.Execute StrSQL 方法二:使用 Recordset 对象的 Delete 方法。 Set rsTest = server.CreateObject(“ADODB.Recordset“) rsTest.LockType = adLockOptimistic StrSQL = “SELECT * FROM Table WHERE Condition“ rsTest.Open StrSQL, Cnn,adCmdText While Not rsTest.EOF rsTest.Delete rsTest.MoveNext Wend 3.33.3 各模块功能的具体实现各模块功能的具体实现 .1 注册与登陆注册与登陆 注册会员界面的表单由名字、密码、密码重复、密码保护问题、密码保护问题答案五方 面组成。界面对用户输入的资料进行合法性检查之后读入数据库的 huiyuan 表内。注册成功 C 语言学习系统 软件学院 03 级转专业 谢也路 20 后系统自动跳转论坛主界面的登陆状态。表单的图片如下所示: 图 3.3.1 用户注册界面 .2 发帖与回帖发帖与回帖 发帖与回帖为论坛的主要功能。用户在注册获得自己的帐号以后可以登陆相关的论坛版 块发表和回复帖子。 论坛的帖子被分成不同版块放置。不同的版块有相应的权限设置。公告版版块为允许普 通用户浏览,但只有以管理员帐号登陆才可以发帖。作业上传版块只允许管理员浏览和修改。 其他如疑难解答等版块为公共版块,普通用户可以发表留言和回复帖子,也可以对自己的帖 子进行修改和删除操作。对他人帖子的操作权限只赋予管理员帐号。 帐号在发表文字信息的同时还能上传各种格式的文件到 server 端的文件夹。作业上传 功能即是基于此技术。论坛的所有帖子被存放在数据库的 tiezi 表中。 论坛的版块信息被存放在数据库的 bankuai 表中。 发帖功能的主要执行代码如下: 0 or instr(biaoti,“&#“)0 then response.Redirect(“b_fatie.asp?fanhui=feifa&bankuai=“& bankuai &“) end if neirong=replace(Trim(Request.Form(“neirong“),“,“#$%3v42q“) mingzi=request.Cookies(“mingzi“) cmima=request.Cookies(“mima“) if Instr(mingzi,“=“)0 or Instr(mingzi,“)0 or Instr(mingzi,“(“)0 or Instr(mingzi,“)“)0 then response.Redirect(“b_bankuai.asp“) end if set youke=lj.execute(“select youkefatie from luntan“) if youke(“youkefatie“)cmima then response.Redirect(“b_bankuai.asp“) end if end if if biaoti=“ or neirong=“ then response.Redirect(“b_fatie.asp?fanhui=kong&bankuai=“& bankuai &“) end if if len(neirong)65535 then response.Redirect(“b_fatie.asp?fanhui=duo&bankuai=“& bankuai &“) end if lj.execute(“insert into tiezi(xinqing,biaoti,neirong,mingzi,shijian,bankuai,tiezi) values(“& xinqing &“,“& biaoti &“,“& neirong &“,“& mingzi &“,GETDATE() ,“& bankuai &“,tiezi)“) response.Redirect(“b_luntan.asp?bankuai=“& bankuai &“) % .3 搜索功能搜索功能 搜索功能是为了方便在全站范围内查找帖子而编写的。在搜索界面输入相关文字,系统 自动搜索 tiezi 表中标题包含此文字的帖子并列出其所属版块、作者、回复数和浏览数等信 息。由于权限限制,搜索功能并不搜索“作业上传”版块内的帖子。 图 搜索功能界面 输入 test 搜索名字为”test”的帖子,返回两个结果如下: C 语言学习系统 软件学院 03 级转专业 谢也路 22 图 搜索结果 .4 作业上传功能作业上传功能 作业上传功能提供给学生专门的上传作业文件的界面。普通帐号可以通过作业上传选项 进入发帖界面,填写合适的标题和内容说明并上传自己的作业文件。发表完毕后返回论坛界 面。教师可以通过有权限限制的作业上传版块查看所有作业帖子并可进行批改回复。学生可 以通过“上传作业查看”选项查看自己所发表的帖子及教师的回复。一般情况下学生无法查 看他人作业上传情况。 网络上有很多介绍 ASP 上载文件的方法,归结起来有以下三大类实现方法,读者可以根 据自己网站的条件和需求来选择合适的方法。 一 服务器组件上载方式: 该方法以 SA-FileUp 组件、AspUpload 组件、lyfUpload 组件为代表。Software Artisans 的 SA-FileUp 是最早的商业 Active Server 组件之一,几经改进,现在作为一个 纯粹的 ASP 组件存在。Persits Software 的 ASPUpload 也是一个功能很强大的 COM 组件。 他们均实现了各种文件上载所需要的功能:上载大文件、限制上载文件的大小、上载多个文 件、显示上载进度条、能够将文件保存到数据库中。该类方法的优点是运行稳定,功能强大, 对浏览器没有任何要求。其缺点就是需要在服务器上注册组件。如果网站管理员对服务器拥 有管理权限,则该方法应该是实现文件上载的首选。 二 无组件上载方式: 该方法以化境无组件上传、无

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论