asp3高级编程(十二)
本节提供了一些示例页面,可以用于各种服务器端报表实验。打开的页例子目录chapter04,显示SSI指令和ASP服务器对象的主页(即子目录chapter04 default.asp),如图4-3所示。
图4-3示例网页
这本书的所有例子都可以从我们的网站下载。读者会发现所有样本的网页在本章的剩余部分样品在子目录chapter04。
1。使用SSI / CGI处理指令
点击链接进入服务器端和CGI报表页面,打开网页的ssi_cgi.stm。需要注意的是,页面的文件扩展名是非常重要的。Stm,说明这不是一个ASP的网页,此网页都使用SSI指令除了# EXEC指令(这将被视为后来,和显示指令)的方法和结果。如图4-4所示。
图4-4页例显示SSI / CGI处理指令
(1)#包括指令
这一页的开始,包括文件与SSI,显示另一个文件名为intro.inc.the以下内容是文档的全部内容:
注意,我们必须使用HTML条目来显示Web页面中的尖括号。如果它们不这样做,就不能将它们作为注释元素的一部分处理,并使其执行指令。
在主ssi_cgi.stm页面代码插入这个文件到页面简单:
(2)#配置,# fsize和# flastmod指令
本页的下部分显示文件大小default.asp在同一目录下的页面和时间进行修改。三#配置指令是用在这里:
一次是设置SSI错误信息。
一次是设置日期和时间的格式。
一次是设置文件大小计算的格式。
使用# fsize和# fiastmod指令可以将值插入到网页:
SSI的陈述
(设置SSI错误时的错误消息)
file'default asp的细节:
(套fsize返回字节数)
返回:字节
(为日期/时间结果设置格式)
返回:
(3)#回声指令
在页面的最后部分(只有屏幕的一部分可以在屏幕上看到的)显示所有HTTP标头,可以与#回声指令访问的内容,每一行代码都是一样的,唯一的属性值的变化。一个完整的var属性所允许的值列表在附录G给出
HTTP变量
返回:
返回:
…等。
2。使用# EXEC指令
的# EXEC指令有点困难,使用比其他SSI指令,这就是为什么它被放在其他页面独立。启动页面可以从ASP服务器对象和SSI指令访问主菜单。
在这个页面中,选择使用#回声服务器端包含指令链接。此操作打开SSI # EXEC指令页面,如图4-5所示:
图4-5 SSI #执行指令的网页
这是一个ASP的网页,ssi_exec.asp.the两按钮用来打开.stm页面,进行行为描述使用# EXEC指令。
(1)在服务器上运行这个示例
一些配置更改必须在SSI # exec指令样本可以在服务器上工作了。首先,你需要创建的项目(ssienablecmddirective DWORD类型)在Web服务器的注册表,其中位于下方的按键名称:
hkey_local_machine 系统 CurrentControlSet 服务 W3SVC 参数
然后将值设置为1,如图4-6所示。
图4-6注册表中的设置
这让# EXEC指令是用cmd属性。
其次,我们必须禁止匿名访问目录的.stm文件包含# EXEC指令,和客户端将被迫提供详细的帐户。帐户应该是管理员级权限帐户,这也是网络命令正常工作的要求。
启动Internet服务管理器中,选择包含文件的目录。Stm使用# EXEC指令。在这个例子中,这些文件是在start_cisvc.stm exec目录和stop_cisvc.stm。然后打开目录的属性对话框,单击目录安全性选项卡,在打开的身份验证方法对话框中的匿名访问和验证控制区的编辑按钮,如图4-7所示。
图4-7为验证方法设置对话框
对话框中不选中匿名访问复选框。如果你不使用浏览器访问网页,打开允许非IE浏览器提交的用户名/密码访问网页的基本身份验证选项。当设置,一个警告,安全将出现,并单击是。现在的浏览器将强制显示适当的帐户和身份因为不能匿名访问。
为了查看启动和终止服务的结果,打开服务MMC插件并终止索引服务,如图4-8所示:
图4-8启动和终止服务的屏幕
(2)启动和终止索引服务
通过单击示例Web页面上的按钮启动微软索引服务。
这项服务的简称cisvc,它通常被称为微软的索引服务器,名字中的字,词,事实上它所代表的内容索引。
出现提示时,在Web服务器管理员权限进入一个帐户的用户名和密码。当页面(start_cisvc .stm)打开,你会感到一种延迟。这是因为# exec命令加载一个窗口命令解释器的实例(CMD .exe),然后执行启动命令。一旦启动服务(或如果它已经运行),剩下的页面显示,如图4-9所示:
图4-9。输入用户名和密码后显示的界面
这个页面的代码很简单。你可以看到,# EXEC指令具有cmd属性,它被设置为cmd.exe / C启动cisvc。表单包含提交按钮,有一个返回上一页。
处理SSI指令:
返回到前一页
上一页可以打开。STM的页面,如stop_cisvc.stm,用于再次停止服务。区别在于使用停止命令而不是启动命令。
…
…