asp服务器端文件包含及类似方法.doc

上传人:自*** 文档编号:126226293 上传时间:2020-03-23 格式:DOC 页数:6 大小:30.50KB
返回 下载 相关 举报
asp服务器端文件包含及类似方法.doc_第1页
第1页 / 共6页
asp服务器端文件包含及类似方法.doc_第2页
第2页 / 共6页
asp服务器端文件包含及类似方法.doc_第3页
第3页 / 共6页
asp服务器端文件包含及类似方法.doc_第4页
第4页 / 共6页
asp服务器端文件包含及类似方法.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《asp服务器端文件包含及类似方法.doc》由会员分享,可在线阅读,更多相关《asp服务器端文件包含及类似方法.doc(6页珍藏版)》请在金锄头文库上搜索。

1、asp服务器端文件包含及类似方法(2009-06-08 12:32:29) 转载标签: aspincluderedirecttransferexecut杂谈分类: 网站技术 服务器端文件包含及类似方法1. Include关键字:语法: 1. File属性值对应着文件的相对地址。被包含的文件路径,不能是虚拟目录,路径中不能有变量。可以使用 “./”代表代表父目录,此时要求在IIS配置中选中了“启用父路径”,默认为不启用。允许使用多个“./”返回到更高的目录。可以使用“./”代表当前目录,也可以什么都不加,此时也代表当前目录。不允许使用“/”根目录,不能使用两个“/”,也不能以“/”开始。 2.

2、Virtual 属性对应的是虚拟地址。可以使用虚拟目录,路径中不能有变量。可以使用“/”代表根目录,与不加意义相同,但为与其它语言习惯性兼容,应该加上。不能使用“./”和“./”,可以在开始位置使用两个或两个以上的/,意思与一个相同。 原理: 在ASP进行语法校验前,将被包含的文件(1.asp)的内容完全复制到当前页面。包含文件与被包含文件中的信息是可以交互使用的。 注意: 1. 包含语句应放到 语法标识外面; 2. 被包含文件可以有执行能力,或是进行了各类定义的库文件,被包含文件可以为空; 3. 如果文件不存在或没有读取权限将出错; 4. 由于是将内容复制过来,如果在逻辑上出现对同一变量的重

3、复定义(即对同一变量名多次使用了Dim关键字),是不允许的; 5. “”、“Respnse.Buffer”、“Option Explicit”等语句有其放置特殊性,最好不要在被包含文件中使用。如果使用,应将这些信息放到统一的文件中,并使这个文件一页面的第一行被包含引用,而其它文件不要再有类似定义。 2. Server.Transfer方法:语法: Server.Transfer(filePath)filePath 可以是相对路径,也可是虚拟路径,可以存在有变量,如站点根目录配置。 原理: 停止当前文件的运行,后面的代码不再执行,并将控制权交给 filePath 的指定文件。两个文件中的信息不能

4、互相使用,但使用相同的缓存。 注意: 1. filePath 应该对应一个有独立执行能力的文件,并且不能是0字节文件; 2. 由于调用本方法时,本页后面的代码不再执行,调用之前应关闭必要的对象; 3. 只有在程序逻辑执行时,条件符合时,才会用到这个页面,并在此时检查页面是否存在; 4. 如果前面的页面已经向客户输出内容,将不能再使用 Reponse.Buffer 等那些要求在输出前进行定义的属性,也不能使用Response.Redirect方法; 3. Server.Execute方法:语法: Server.Execute(filePath)filePath 可以是相对路径,也可是虚拟路径,可

5、以存在变量,如站点根目录配置。 原理: 用于停止当前文件运行,并将控制权交给作为一个参数传递的URL的限定文件,当该文件完成后,控制权会交给原始文件,继续执行Execute方法后面的语句。两个文件共用同一缓存,但不共用对方定义的变量和创建的对象。 注意: 1. 与 Tansfer方法的注意事项相同,只是第二条不再适用,包含文件在被包含文件执行前使用的对象或变量,在 Execute方法执行后继续可用; 2. 如果前面的页面已经向客户输出内容,将不能再使用 Reponse.Buffer 等那些要求在输出前进行定义的属性,也不能使用 Response.Redirect 方法; 3. 在被包含文件中,

6、如果遇到 Response.End 或 Response.Redirect 方法,响应结束,包含文件中其它代码将不再执行,所以如果被包含文件存在这样的语句,就不要在包含文件中过早地建立对象,以防止无法关闭或释放。 4. 公共特性:1. 被包含文件中所用的Request对象与当前文件完全一致; 2. 无论是包含或跳转页再次包含或跳转其它任何页面,其对应的目录都是以首次被执行文件所在目录为当前目录; 3. 在客户端看不到是否请求了被包含文件; 4. 路径中的/ 与 作用相同; 5. 如果可以使用“./”或“./”,则可以出现在路径的中部,但这很不规范,似乎也没有必要; 6. 多个“./”,会向上无

7、限次寻找父目录; 7. 不能路径中部出现连续的 /,后两种方法调用 Server.MapPath 方法解析地址; 8. 被包含文件必须有确定的文件名; 9. 路径中不能有参数信息; 10. 扩展名任意,都是调用ASP解析引擎进行解析; 11. 被包含文件的扩展名任意,被包含文件中希望在服务器端进行解析执行的内容,要放到 或 标记之间; 12. 文件路径中不能含有Querystring参数; 13. 需要被包含的文件有Guest组中成员的读取权限; 14. 任何文件中调用了 Response.End 方法,后面的代码将都不再执行。 15. 任何文件调用 Response.Redirect 方法,

8、都以第一个被请求文件所在目录为准; 5. 方法区别及使用建议:1. 区别:只有在一个文件A中使用Include关键字的File属性时,包含的文件路径才以A文件所在目录为当前目录; 2. 区别:在一个文件中使用Include关键字的Virtual属性时,包含的文件路径以根目录为准; 3. 区别:Server.Transfer 或 Server.Execute 方法,以请求文件或最后一个通过File属性被包含的文件所在目录为当前目录 ; 4. 区别:Server.Transfer 或 Server.Execute 方法,可以用来隐匿路径; 5. 区别:Server.Transfer 或 Serve

9、r.Execute 方法,可使用变量做路径参数; 6. 区别:Server.Transfer 或 Server.Execute 方法,逻辑执行到此语句时才检察文件是否存在; 7. 区别:Server.Transfer 或 Server.Execute 方法,页面级变量不再被共享; 8. 建议:因为一些网站并不是放到根目录下,所以,最好使用Include关键字的File属性进行文件包含,特殊情况下才使用其它。 6. Response.Redirect方法:(用于页面间跳转,此方法与上面的三个的应用有本质的区别。) 语法: Response.Redirect(toURL)toURL参数可以是任意网

10、站的任意页面,甚至是目录,但不能为空;多个“./”,如果超出了根目录,以根目录为准; 原理: 告知浏览器转而请求另一个页面,其下面的代码将不被执行。 注意: 1. 相当于调用了 Response.End 方法,所以在使用此方法前,应关闭必要的对象; 2. 在调用此方法前,应保证没有向客户端输出任何信息,所以尽可能在页首设置 Response.Buffer 属性为True,IIS6.0默认为True; 3. 目标文件扩展名任意,可以通过Querystring传递参数; 4. toURL对应的文件使用全新的Request对象,并且是通过GET方法请求的,原来通过POST方法提交的信息不再可用,只是 Request.ServerVariables(HTTP_REFERER) 与首次请求的页面使用相同的值; 5. 在客户端的地址栏中显示的是toURL对应的地址; 6. 如果目标文件属于本服务器,需要有Guests组中成员的读取权限;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号