分享
 
 
 

ASP 3.0高级编程(十二)

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

4.2.3 服务器端包含指令的例子

本节提供了一些示例页面,可以用来对各种服务器端包含语句进行实验。打开示例网页的子目录Chapter04,显示“SSI Directives and the ASP Server Object”主页(即子目录Chapter04中的Default.asp),如图4-3所示:

本书的所有示例都可以从我们的Web网站下载。读者将在示例的子目录Chapter04中发现本章其余部分的所有示例页面。

1. 使用SSI/CGI处理指令

单击链接进入“Server-Side Include and CGI Statements”页面,这将打开ssi_cgi.stm页面。需要注意的是该页面的文件扩展名为.stm,表明这不是一个ASP网页。该页面使用了前面已经讨论过的除#exec指令(稍后将看到)以外的所有SSI指令,且显示指令的使用方法和结果,如图4-4所示:

(1)#include指令

该页的开始部分“Include Files with SSI”,显示名为intro.inc的另一个单独文件的内容。下面是该文件的全部内容:

注意我们必须使用HTML条目“<”和“>”来显示网页中的尖括号。如果不这样做,它们就不能被当作注解元素部分看待,并引起其中的指令被执行。

在主ssi_cgi.stm页面中,把这个文件插入到该页中的代码是很简单的:

<!-- #include file=”intro.inc” -->

(2)#config、#fsize和#flastmod指令

网页下一部分显示了与该页面在相同的目录中的文件Default.asp的大小和最后被修改的时间。这里三次使用了#config指令:

· 一次是设置SSI错误信息。

· 一次是设置日期和时间的格式。

· 一次是设置文件大小计算的格式。

使用#fsize和#fiastmod指令把值插入到该网页中:

<P><DIV CLASS="subhead">SSI Statements</DIV>

<!-- #config ERRMSG="SSI Processing Error" -->

(sets error message in case of SSI error)<BR>

<!-- #config ERRMSG="SSI Processing Error" --><P>

Details of file 'Default.asp':<BR>

<!-- #config SIZEFMT="BYTES" -->

(sets fsize to return size in bytes)<BR>

<!-- #config SIZEFMT="BYTES" -->

<!-- #fsize FILE="Default.asp" -->

returns: <B><!-- #fsize FILE="Default.asp" --> bytes</B><BR>

<!-- #config TIMEFMT="%A, %B %d %Y %H:%M:%S" -->

(sets format for date/time results)<BR>

<!-- #config TIMEFMT="%A, %B %d %Y %H:%M:%S" -->

<!-- #flastmod FILE="Default.asp" -->

returns: <B><!-- #flastmod file="Default.asp" --></B><P>

(3)#echo 指令

该页的最后部分(在屏幕上只能看到一部分)显示可以使用#echo指令访问的所有HTTP报头的内容。每一行的代码都是相同的,仅仅是VAR属性值有变化。附录G中给出了VAR属性的所有容许值的一个完整列表。

<DIV CLASS="subhead">HTTP Variables</DIV>

<!-- #echo VAR="AUTH_TYPE" -->

returns: <B><!-- #echo var="AUTH_TYPE" --></B><BR>

<!-- #echo VAR="AUTH_PASSWORD" -->

returns: <B><!-- #echo var="AUTH_PASSWORD" --></B><BR>

… etc …

2. 使用#exec指令

#exec指令与其他的SSI指令相比使用起来困难一些,正因为如此,将其独立地放到了另一个页面上。可以从“ASP Server Object and SSI Directives”主菜单上访问启动页面。

在该页面上,选择“Using the #echo Server-Side Include Directive”链接。这个操作打开“The SSI #exec Directive”页面,

这是一个ASP网页ssi_exec.asp。两个按钮用来打开.stm页面,该页面执行其中使用#exec指令所描述的动作。

(1) 在服务器上运行这个示例

在SSI #exec指令示例能够在服务器上工作之前,必须对一些配置进行修改。首先,需要在Web服务器的注册表中创建SSIEnableCmdDirective项(类型DWORD),位置在下面的键名下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

然后设置该值为1 .

这样就允许#exec指令与CMD属性一起使用。

其次,必须对包含使用#exec指令的.stm文件的目录禁止匿名访问,客户端将被强制提供帐号的详细情况,该帐号应是一个具有管理员级权限帐号。这也是net命令正常工作的要求。

激活Internet Services Manager应用程序,并选择包含使用#exec指令的.stm文件的目录(在示例中,这些文件是exec目录下的start_cisvc.stm和stop_cisvc.stm)。然后打开该目录的Properties对话框。在Directory Security选项卡中单击Anonymous access and authentication control区域中的Edit按钮,打开 Authentication Methods对话框.

这个对话框不选中Anonymous access复选框。如果不使用Internet Explorer访问该页面,打开Basic authentication选项以允许非IE浏览器通过提交用户名/口令访问该页面。设置时,会出现一个有关安全的警告,单击Yes。现在浏览器将被强制出示合适的帐号和身份证明,因为不能匿名访问该网页。

为了能看到启动和终止服务的结果,打开“Services MMC插件”,终止Indexing Service

(2) 启动和终止Indexing Service

单击示例Web网页上的按钮,启动Microsoft Indexing Service。

这个服务的短名称为cisvc,它通常称为Microsoft Index Server,名称中的“ci”字符,实际上代表“content indexer”。

出现提示时,输入在Web服务器上的具有管理员权限的一个帐号的用户名和口令。当该页面(start_cisvc.stm)打开时,你将感觉到一定的延迟,这是因为#exec指令载入一个窗口命令解释器(cmd.exe)的实例,然后执行net start命令。一旦服务启动(或者如果已经在运行),将显示该页面的其余部分

这个页面的代码十分简单。可以看到#exec指令带有CMD属性,它设置为“cmd.exe /c net start cisvc”。窗体包含有重新回到前一页面的SUBMIT按钮:

<P>Processing the SSI directive:</P>

<P><B><!-- #exec CMD="cmd.exe /c net stop cisvc" --></B></P>

<!-- #exec CMD="cmd.exe /c net stop cisvc" -->

<FORM ACTION="../ssi_exec.asp">

<INPUT TYPE="SUBMIT" NAME="cmdOK" VALUE=" ">

Return to the previous page<P>

</FORM>

从前一页面可以打开其他的.stm网页,如stop_cisvc.stm用来再次终止该服务,不同之处仅在于使用了net stop命令而不是net start命令。

<!-- #exec CMD=”cmd.exe /c net stop cisvc” -->

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有