程序开发

Web客户端跳转和服务器端跳转区别

时间:2013-10-28 12:58:10  作者:www.solgle.com  来源:说歌社区  查看:381  评论:0
内容摘要:1.客户端跳转(重定向):如果“a.asp”中用到:response.Redirect("b.asp")地址栏会变成指定的url地址,此方法和JSP中的重定向有所不同,当页面遇到此语句马上跳转,而不继续进行语句下面的代码。测试方法:在此语句下面加一...

1.客户端跳转(重定向):

如果“a.asp”中用到:response.Redirect("b.asp")

地址栏会变成指定的url地址,此方法和JSP中的重定向有所不同,当页面遇到此语句马上跳转,而不继续进行语句下面的代码。测试方法:在此语句下面加一句“<%session("test")="test"%>”,在“b.asp”页面中输入“session=<%=session("test")%>”;如果b.asp中显示的数据是“session=test”,那说明a.asp中遇到语句后会继续执行下面语句,如果b.asp中显示的数据时“session=”,那说明没有继续执行下面语句。结果测试没有执行下面语句。总结:当用户执行到此语句后地址栏会变成要执行的地址,而且不会进行语句下面的代码。

 

2.服务器端跳转,Server.Transfer()和Server.Execute():(两种方法地址栏都不变,但两者还是有一点区别)

(1)如果在“a.asp”中用到:Server.Transfer("b.asp")

当“a.asp”页面运行到此语句时,会马上跳转到“b.asp”里,并执行“b.asp”中的语句,执行后不会回跳到原来的页面。测试的方式是,查看“a.asp”在浏览器端页面的源文件,会发现“a.asp”中的源代码中在此语句开始的部分都是变成“b.asp”运行后的代码,如果“a.asp”是完整的页面,你会发现属于“a.asp”在浏览器端查看的源文件中的</body></html>都不见了。如果测试是马上跳转还是执行完页面后再跳转可以用1中的方法。

结论:运行到此语句,页面会马上执行指定的文件,而不会执行后面的语句,并且执行完指定的文件后不会回跳到原本的页面。

(2)如果在“a.asp”中用到:Server.Execute("b.asp")

用(1)中的方法测试。结果“a.asp”中的“</body></html>”都存在。

结论:运行到此语句,页面会马上执行指定的文件,执行完后回回跳到原本的页面。这种效果上会和“包含文件元素<!--#Include...-->”有点相似,但又不是完全相同。因为“<!--#Include...-->”元素是把文件包含进来再运行的,如果元素中包含有一些重复的变量时会带来不少的麻烦。
    该处以asp为例,其他语言同理。




 

标签:Web客户端跳转和服务器端跳转 

solgle.com 版权所有,欢迎分享!!!

相关文章
    相关评论
       Copyright © 2013-2020 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
    Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1