response.sendRedirect()与request.getRequestDispatcher().forward()的区别

response.sendRedirect(url):重定向到指定url,是客户端跳转.原理是redirect发一个response给浏览器,浏览器接收后再发一个request给服务器,服务器拿到了再发一个response给浏览器,这样拿到的浏览器的request就是个全新的,设置的属性也都没有了,所以无法夹带参数,只能在链接后面带参.但是这可以随意跳转到任何地方,另外地址栏会发生改变.

request.getRequestDispatcher().forward(request,response):请求转发到指定url,是服务器端跳转.服务器直接把response发送给另一个页面了,所以另一个页面拿到的还是那个带参数的request,并没有新建.这样就可以在里面夹带参数,不过这也使得只能在同一个web下跳转(不能有frame的jsp)

阅读更多
个人分类: js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

response.sendRedirect()与request.getRequestDispatcher().forward()的区别

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭