JSP中页面的转发与重定向

来源:互联网 发布:c语言求最大公因数函数 编辑:程序博客网 时间:2024/05/17 01:42

页面的转发:

  转发的作用:在多个页面交互过程中实现请求数据的共享

        转发的实现:RequestDispatcher对象,forward()方法

RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");      rd.forward(request, response);//rd = request.getRequestDispatcher("welcome.jsp").forward(request, response);
将当前接收的用户请求,发送给服务器的其他资源使用

页面实现了跳转,请求的信息是否也一起转移呢?答案是不。Because --->

request,请求的生命周期很短。

  request.getParameter("uname");//传值null

  使用范围:在一次请求范围内,若用完了,则销毁了。

  新的请求,则request中没有数据。

页面的重定向

  重定向:response

  跳转到一个新的页面。

  不会传递上一次请求参数。

response.sendRedirect("URL");//URL后可以拼接参数。例如:----->response.sendRedirect("ch0203.jsp?uname="+uname+"&pwd="+pwd);

如何才能实现页面跳转后,请求信息不丢失呢?
通过转发实现,把内容转发到一个新的页面。
使用转发取代重定向传递数据。
转发和重定向的区别:
1.地址栏信息不同
都是在ch0202.jsp中作用(页面跳转到ch0203.jsp)
转发地址栏的信息:

重定向地址栏的信息:

2.转发可以传递信息,重定向不能

转发在应用服务器实现,信息可以多个页面数据的传递,地址栏的信息不会发生变化

重定向在客户端实现,没有内置对象等,只有一个页面,不能传递信息,地址栏信息会发生变化

3.转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递

   转发市在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址

   重定向时在客户端发挥作用,通过请求新的地址实现页面转向

   重定向时通过浏览器重新请求地址,在地址栏中可以显示转向后的地址

原创粉丝点击