利用ASP实现网上论坛的方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用ASP实现网上论坛的方式
专业:计算机应用专业___
班级: 5班_____
作者:刘小晶____
完成日期:_ 2006年05月13日__
利用ASP实现网上论坛的方式
【摘要】
20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛。
个性化已逐渐成为当今Web应用的潮流。
本文研究了一种基于数据关联规则网上论坛系统,具有用户使用更简单、界面更直观等优点。
本文中所做的主要工作如下:
(1))阐述整个个性化页面的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。
(2)设计实现用户管理、帖子管理、版面管理、数据库管理、浏览和查找、短消息功能等ASP页面。
(3)分析并解决实现中的若干技术问题。
【关键字】
论坛 ASP 连接数据库
ASP技术综述
1 .ASP的产生
近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。
从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了Active Server Pages (ASP),一种用以取代CGI(Common Gateway Interface,通用网关接口)的技术。
简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 HTML 表单收集和处理信息,上传与下载等等。
更重要的是,ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。
使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。
2. ASP与IIS
2.1 IIS简介
Wsb服务器是Web应用程序的心脏。
IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。
新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
2.2 IIS与ASP的结合
在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。
现在我们利用IIS+ASP构成三层式Web结构(如图2.1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:
1.减少构建和维护成本
2.加快联机过程
3.应用软件集中在服务器端开发管理
4.前端可使用任何浏览器(IE、Netscape…..)
5.后端可存取任何数据库 (SQL、Access…..)
6.可使用任何脚本语言开发 (VBScript、JavaScript、PERL…..)
3 ASP的内部特点
3.1 ASP内部6大对象
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
对象名称功能描述
Request 从客户端取得信息
Response 将信息送给客户端
Server 提供一些Web服务器工具
Session 储存在一个Session内的用户信息,该信息仅可被该用户访问
Application 在一个ASP-Application中让不同的客户端共享信息
ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理
3.2 Global 文件
每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。
当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:
1.Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。
2.不具有任何Session的客户端向Server请求一个ASP文件时。
前面已经提到Application和Session这两个ASP的内部对象。
Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。
而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。
可见,Global.asa文件的调用与Application与Session这两个对象密切相关。
事实上我们通常在Global。
asa文件中写入以下内容:
1. Application或Session的开始事件(Start-event)。
2. Application或Session的结束事件 (End-event)。
4 利用ADO访问数据库
ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。
在ASP中,ADO 可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。
本文中个性化页面的实现便大量地用到了ADO技术。
具体的操作步骤可以归纳为以下几步:
一、创建数据源名
DSN(2005-3-2 22:01:51 Source Name)即数据源名称。
我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。
比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。
而且我们根本不用知道这个数据库是放在哪里的。
我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。
我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。
如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN 就行了。
由此可见,DSN是应用程序和数据库之间的桥梁。
二、创建数据库链接(Connection)
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。
ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
set Conn=Server.createObject(“ADOBD.CONNECTION”)
这条语句创建了链接对象Conn,接下来:
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"") conn.Open connstr
这条语句打开链接,用到了DSN,本例为“connstr”。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
三、创建数据对象(Record Set)
ADO中的数据对象通常保存的是查询结果。
Record Set是ADO中最复杂的对象,有许多属性和方法。
Record Set保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:Set Record Set=Conn.Execute(sqtStr)
这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。
例如:
rs=“SELECT * FROM shop_books”
Set Record Set=mConn.Execute(rs)
这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。
四、操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。
例如:
rs=“INSERT INTO tab1 VALUES(1,2)”
mConn.Execute(rs)
/执行插入操作
五、关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。
通过调用方法close实现关闭,然后再释放它。
Record Set.close
Set Record Set=Nothing
/关闭创建的数据对象
mConn.close
Set mConn=Nothing
/关闭创建的链接对象
5 ASP与CGI的比较
CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。
我们现对二者进行比较。
Active Server Pages开发Web应用程序的特点:
1.完全嵌入HTML,与HTML、Script语言完美结合。
2.无须手动编译和链接程序。
3.面向对象,并可扩展ActiveX Server组件功能。
4.使用脚本语言(JavaScript、VBScript或PERL)编写。
5.存取数据库轻松容易(使用ADO组件)。
6.可使用任何语言编写自己的ActiveX Server组件。
7.无浏览器兼容问题。
8.程序代码隐藏,客户端仅能看到ASP输出的HTML文件。
9.缩短Web开发时间。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。