关于重定向和转发的理解

来源:互联网 发布:数据库建模工具有哪些 编辑:程序博客网 时间:2024/05/16 02:05

        Java中页面跳转方式主要分为两种,一种是重定向,一种就是转发,接下来我就来谈一下这两种方式的区别。

     一、重定向(Redirect)

            重定向是客户端行为,为了响应客户端,java中的response对象将给客户端的响应信息进行封装,然后通过response.sendRedirect("地址");   进行页面跳转。

            重定向有以下特点:

            a. 重定向页面跳转完之后,地址栏中的地址是最后一个页面的地址。

             b. 请求的参数是无法向后传递的,也就是说先前的请求的参数无法传递到后面的页面。

             c. 重定向是可以跳转到外部的站点。

      二、转发(response)

          转发是服务器行为,服务器端通过  request.getRequestDispatcher("地址").fowrard(request, response);  进行页面跳转。

           转发有以下特点:

           a. 页面跳转之后地址栏的地址是不变的,会是请求的页面的地址。

           b. 请求的参数是可以传递到后面的页面的。

           c. 转发是服务器行为,无法访问外部站点。

     然后这两者最根本、最核心的区别在于,进行页面跳转的是一次请求还是两次请求,如果是一次请求的话就是重定向,那两次请求就是转发了。

0 0
原创粉丝点击