1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
window对象history 的内置方法,前进:forward(),后退:back(),指定:go()<a href="javascript:window.history.forward()"><img src="前进.jpg"></a> //就是浏览器上的那个图标,前进或后退,不用图片标签也行
<a href="javascript:window.history.back()"><img src="后退.jpg"></a>
go()的使用更广泛,使用go()实现相同效果
<a href="javascript:window.history.go(1)"> 前进 </a>
<a href="javascript:window.history.go(-1)">后退 </a>
另外,可用go()访问“本页” 和 “末页”
<a href="javascript:window.history.go(0)">刷新 </a> // 0 就是访问本页面,也就是刷新
<a href="javascript:window.history.go(window.history.length-1)">末页 </a> // 从 0 开始计算页数,所以window.history.length-1是末页
前进: history.forward()=history.go(1)\x0d\x0a后退: history.back()=history.go(-1)\x0d\x0a注意事项:前进后退按钮是需要在特定环境下才有效果的,即你需要从另一个页面进入到这个页面后,点击这个后退按钮才有后退的效果,否则是没有的。\x0d\x0a【拓展资料】\x0d\x0ajavascript中的后退和刷新;\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a 后退+刷新在C# Web程序中,如为页面按钮写返回上一页代码\x0d\x0athis.RegisterClientScriptBlock("E", "history.go(-2)")\x0d\x0a其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。\x0d\x0aResponse.Write("history.go(-2)")\x0d\x0a此处也要写为“-2”。跟直接写脚本的有所不同。history.back()是会上一页\x0d\x0ai=1\x0d\x0ahistory.go(i)去指定的某页\x0d\x0a如果是history.go(0)那就是刷新这两个属于JS代码,相当于IE的前进、后退功能。\x0d\x0a具体的用处就要看什么时候需要这个就用上。比如用户注册时的验证是后台验证,不符合要求的时候就可以用这个,可以最大限度保证用户少重复输入数据。\x0d\x0a例如:载入页面:\x0d\x0afunction onLoadPage(){\x0d\x0aif(event.srcElement.tagName=="SPAN"){\x0d\x0aoFrame=top.window.middle.frames[2]\x0d\x0aoTxt=event.srcElement.innerText\x0d\x0aswitch(oTxt){\x0d\x0acase "前 进":\x0d\x0aoFrame.history.go(1)\x0d\x0acase "后 退":\x0d\x0aoFrame.history.back()\x0d\x0acase "刷 新":\x0d\x0aoFrame.location.reload()\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a打开一个jsp页面,肯定是用客户端脚本进行刷新了。\x0d\x0aJavascript刷新页面的几种方法:\x0d\x0a1 history.go(0)\x0d\x0a2 location.reload()\x0d\x0a3 location=location\x0d\x0a4 location.assign(location)\x0d\x0a5 document.execCommand('Refresh')\x0d\x0a6 window.navigate(location)\x0d\x0a7 location.replace(location)\x0d\x0a8 document.URL=location.href