友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

asp基础实用教程(DOC格式)-第5部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!

%》。
End Select
Document。WriteMsg
End Sub
ServeInfo()
//……》



  在以上的脚本中,ASP在服务器上检索时间和日期信息,然后通过几次循环生成在用户的Web服务器上运行的子程序。每个客户端子程序提出随机选择的问候,显示时间和日期信息。
  这种脚本可扩展,例如,将配置信息检索并提交到指定的客户端脚本或组件,如ActiveX控件。灵活地使用这种脚本的编写技巧,同样可以加快Web服务器处理和返回用户信息请求的速度。
九、包含文件

  SSI指令为用户提供在Web服务器处理之前将一个文件的内容插入到另一个文件的方法。ASP只使用这一机制的#include指令。要在。asp文件中插入一个文件,使用下面的语法:
   
  virtual和file关键字指示用来包含该文件的路径的类型,filename是您想包含的文件的路径和名称。
  被包含文件不要求专门的文件扩展名;但是,为被包含文件赋予。inc扩展名以便和其他类型文件相区分是一个良好的编程习惯。

  使用Virtual关键字
  使用Virtual关键字指出路径开始于虚拟目录。例如,如果一个被命名为Footer。inc的文件属于一个名为/Myapp的虚拟目录,则下面的一行将把Footer。inc的内容插入到包含该行的文件中:
   

  使用File关键字
  使用file关键字指示使用相对路径。相对路径开始于含有该包含文件的目录。例如,如果您的文件位于目录Myapp中,而文件Header1。inc在MyappHeaders中,下面的一行将把Header1。inc插入到您的文件中:
  
  注意,到被包含文件Headers/header1。inc的路径是相对于包含文件的;如果包含#include语句的脚本不在/Myapp目录中,那么该语句将不起作用。
  如果在Internet服务管理器中的”启用上层目录”选项被选中,则也可以使用file关键字和。。/语法包含父目录即上一层目录中的文件。有关命令,请参阅配置ASP应用程序。

  被包含文件的位置
  被包含文件可以在您的Web站点内的某个目录中,也可以在您的Web站点之外。通常,您应该使被包含文件位于Web站点的目录中。如果一个被包含文件位于您的Web站点内,则当浏览器下次请求包含文件时,将显示对被包含文件的改变。但是,如果被包含文件位于您的Web站点之外,直到 ASP应用程序重新启动或Web服务器重新启动时,这种改变才能体现出来。ASP检测在应用程序命名空间中(在应用程序的起始目录下)的任何包含文件的改变。

  包含文件:提示和警告
  一个被包含文件也可以包含其他的文件。如果#include指令没有导致循环,一个。ASP文件可以多次包括同一个文件。例如,如果文件First。ASP包含文件Second。inc,则Second。inc 一定不能再包含First。asp。一个文件也不能包含自身。ASP检测此类循环或嵌套错误,并在检测到时产生一个错误消息,同时停止处理被请求的。ASP文件。
  ASP在执行脚本命令之前包含文件。因此,不能用脚本命令去创建被包含文件的名称。例如,下面的脚本将不能打开Header1。inc,因为ASP会在它分配一个文件名给变量name之前先执行#include指令。

 

  脚本命令和过程必须完全包含在脚本定界符、HTML标记和或HTML标记和中。也就是说,不能在一个。ASP包含文件中打开一个脚本定界符,然后在一个被包含的文件中才关闭该定界符;脚本或脚本命令必须是一个完整的单元。例如,下面的脚本将无法运行:


 

  使用HTML表格
  使用ASPRequest对象,您可以创建一个简单而功能强大的脚本来收集和处理HTML表格数据。在本主题中,您将不仅学会如何创建基本的表格处理脚本,而且还将获得用于验证Web服务器和用户浏览器上的表格信息的一些有用技术。
  关于HTML表格
  HTML表格是收集Web信息最常用的方法,是在Web页上提供用户界面控件的特殊的HTML标记的排列。文本框、按钮和复选框都是典型的控件,这些控件使用户和Web页实现交互,并且将信息提交给Web服务器。
  下面的HTML示例产生一个表格,在表格中,用户可以输入姓名、年龄并包含一个将这些信息提交给Web服务器的按钮。该表格也包含了一个隐含的控件(Web浏览器不显示),可以用该控件向Web浏览器传递附加信息。

 






  处理ASP输入的表格
  在表格向Web服务器提交信息时,用户的Web浏览器请求用HTML标记的ACTION属性所指定的。ASP文件(在前面的例子中,该文件被称为Myfile。asp)。。ASP文件包含了处理表格值(如显示结果表或从数据库查询信息)的脚本。
  可以通过三种途径用。ASP文件收集HTML表格的值
* 静态的。htm文件可以包含一个将其数值邮送给。ASP文件的表格。 
* 。ASP文件可以创建一个将其信息邮送给另一个。ASP文件的表格。 
* 。ASP文件可以创建一个将其信息邮送给自身的表格,即包含该表格的文件。 
  前两个方法的操作方式相同,当表格与网关程序交互时,除ASP之外,可以包含读取和响应用户选择的命令。
  创建一个包含表格定义且传送信息给自身的。ASP文件较复杂,但却是有很强功能的处理表格的方法。这一过程在验证表格输入中演示。
  获得表格输入
  ASPRequest对象提供了两种集合,在很大程度上简化了检索附加在URL请求上的表格信息的任务。
  1、QueryString集合
  QueryString集合获取作为跟在请求的URL的问号后面的文本传递给Web服务器的值。通过使用HTTP GET方法或手工将表格的值添加到URL,表格的值可以被附加在请求的URL之后。
  例如,如果先前的表格示例使用GET方法(ACTION = ”GET”) 且用户键入Jeff、Smith和 30,那么下面的URL请求将被发送给服务器:
  http://scripts/Myfile。asp?firstname
=Jeff&lastname=Smith&age=30&userstatus=new
  Myfile。ASP包含下面的表格处理脚本:
Hello;  。 
You are  years old。
 
  在这种情况下,Web服务器将返回下面的文本给用户的Web浏览器:
Hello; Jeff Smith。 You are 30 years old。 This is your first visit to thisWebsite!
  QueryString集合有一个可选参数,可用来访问显示在请求正文中的多个值中的一个。也可以使用Count属性计算一个特殊类型的值的出现次数。例如,表格包含一个多项目的列表框可以提交下面的请求:
  http://list。asp?food=apples&food=olives&
food=bread
  您也可以使用下面的命令去对多个值计数:
  Request。QueryString(”food”)。Count
  如果想显示多个值的类型,List。ASP应包含下面的脚本;


 

  上述脚本将显示: 
apples
olives
bread
  2、Form集合
  当使用HTTP GET方法去向Web服务器传递长而复杂的表格值时,将可能丢失信息。大多数的Web服务器倾向于严格控制URL查询字符串的长度,以便用GET方法传送的冗长的表格值被截断。如果您需要从表格发送大量信息到Web服务器,就必须使用HTTP POST方法。此法用于在HTTP请求正文中发送表格数据,而且发送的字符的个数可以无限多。也可以使用ASPRequest对象的Form集合检索用POST方法发送的值。
  Form集合与QueryString集合存储数值的方式相同。例如,如果用户用一长串名称填充表格,您就可以用下面的脚本检索这些名称:



  验证表格输入
  一个好的表格处理脚本在处理数据前,应先验证输入表格的信息是否有效。验证脚本可以检验用户输入到表格的信息类型是否正确。例如,如果您的Web站点包含一个表格,该表格允许用户计算财务信息,那么在处理结果之前,需要验证用户确实输入了数值信息而不是文本。
  一个非常方便的验证表格输入的方法是创建一个向自身传递信息的表格。在这种情况下,。ASP文件包含可获取信息的表格。例如,下面的脚本通过向自身传递信息来验证用户是否在 ”age”表格字段中输入了数值:
 
Hello; your age is 

Please enter a numerical age。
 
 
Name: 
Age: 
 

  在这个例子中,脚本也在包含表格的同一Verify。ASP文件中。表格通过在ACTION属性中指定Verify。ASP自身传送信息。
  您也可以创建客户端脚本来检验用户是否输入了有效的信息。验证用户在Web浏览器上的输入除了更迅速地向用户提示表格项错误外,还可以减少Web服务器的网络流量。下面的脚本运行在用户的Web浏览器上,在将信息提交到Web服务器之前,验证用户信息。



 
Name: 
Age: 
 

十、访问数据库

  ActiveX Data Objects(ADO)是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。可以使用 ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和OLE DB兼容的数据源。
  如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现ADO命令语句并不复杂而且容易掌握。同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识ADO的先进的与语言无关性和查询处理功能。
  创建ODBC DSN文件
  在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通讯的途径。数据库驱动程序使用Data Source Name(DSN)定位和标识特定的ODBC兼容数据库,将信息从Web应用程序传递给数据库。典型情况下,DSN包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT注册表项中或文本文件的表格。
   通过ODBC,您可以选择希望创建的DSN的类型:用户、系统 或 文件。用户和系统DSN存储在Windows NT注册表中。系统DSN允许所有的用户登录到特定的服务器上去访问数据库,而用户DSN使用适当的安全身份证明限制数据库到特定用户的连接。文件DSN用于从文本文件中获取表格,提供了对多用户的访问,并且通过复制DSN文件,可以轻易地从一个服务器转移到另一个服务器。
  由于以上原因,本主题中的示例将使用文件DSN。
  通过在Windows的”开始”菜单打开”控制面板”,您可以创建基于DSN的文件。双击〃ODBC”图标,然后选择”文件 DSN”属性页,单击”添加”,选择数据库驱动程序,然后单击”下一步”。按照后面的指示配置适用于您的数据库软件的DSN。

  配置Microsoft Access数据库的文件 DSN
  在〃创建新数据源〃对话框中,从列表框选择〃Microsoft Access Driver”,然后单击”下一步”。 
  键入您的 DSN 文件名,然后单击”下一步”。 
  单击〃完成〃创建数据源。 
  在〃ODBCMicrosoft Access 97 安装程序”对话框中,单击”选择”。选择Microsoft Access数据库文件(*。mdb),然后单击”确定”。 
  注意由于性能和可靠性的原因,我们极力推荐您使用〃客户…服务器数据库引擎”配置由这样一种Web应用程序驱动的数据,这些Web应用程序必须满足10个以上的用户的同时访问。尽管ASP可以使用任何ODBC兼容的数据库,但它是为使用客户…服务器数据库而设计的,而且经过了严格的测试,这些数据库包括Microsoft SQL Server、Oracle 等。 
  ASP支持共享文件数据库(如Microsoft Access或Microsoft FoxPro)作为有效的数据源。尽管在ASP文档中的一些示例使用共享文件数据库,但我们建议只将此类数据库引擎用于开发或有限的配置方案。共享文件数据库可能无法很好地适用于可满足高需求、高质量的Web应用程序的客户…服务器数据库。

  配置SQL Server数据库文件DSN
 
  注意如果数据库驻留在远程服务器上,请与服务器管理员联系,获取附加的配置信息;下面的过程使用SQL Server的ODBC默认的设置,它可能不适用于您的硬件配置。
  在〃创建新数据源〃对话框中,从列表框中选择〃SQL Server”,然后单击”下一步”。 
  键入DSN文件的名称,然后单击”下一步”。 
  单击〃完成〃创建数据源。 
  键入运行SQL服务程序的服务器的名称、登录ID和密码。 
  在〃创建SQL Server的新数据源”对话框中,在”服务器”列表框中键入包含SQL Server数据库的服务器的名称,然后单击”下一步”。 
  选择验
返回目录 上一页 下一页 回到顶部 1 2
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!