JSP重定向方法——内置对象response对比动作指令forward

JSP重定向方法——内置对象response 对比 动作指令forward

重定向就是跳转到另一个页面,JSP中重定向的方法主要有以下两种:

response对象进行重定向:response.sendRedirect(目标页面路径);

JSP动作指令:<jsp:forward page = ""></jsp:forward>

使用这两种方法跳转具有很大的不同,可以从以下几个方面来区别:

1、从浏览器的地址显示上来看

​ forward方法属于服务器端去请求资源,服务器直接访问目标地址,并对该目标地址的响应内容进行读取,再把读取到的内容发给浏览器,因此用户端浏览器的地址不变

​ redirect是告诉客户端,使浏览器知道去请求哪一个地址,相当于客户端重新请求一遍,所以地址显示栏会变

2、从数据共享来看

​ forward转发的页以及转发到的目标页面能够共享request里面的数据。

​ redirect转发的页以及转发到的目标页面不能共享request里面的数据。

3、从功能来看

​ redirect 能够重定向到当前应用程序的其他资源,还能够重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。

​ forward 方法只能在同一个Web应用程序内的资源之间转发请求,可以理解为服务器内部的一种操作。

4、从效率来看

​ forward 的效率较高,因为跳转仅发生在服务器端。

​ redirect 的效率相对较低,因为相当于又进行了一次请求。


版权声明:本文为weixin_45080371原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。