servlet和jsp的转发与重定向代码以及区别

  • Post author:
  • Post category:其他

1.首先说明以下重定向和转发的区别

重定向:浏览器发送请求到服务器之后,服务器会发一个状态码和再次请求的地址给到浏览器,浏览器根据地址再次请求服务器的过程。

转发:浏览器发送请求到服务器之后,服务器处理之后调用内部资源(另一个页面)将结果显示在浏览器上面。

区别:一:重定向发生了两次请求,转发只有一次。

    二:重定向之后浏览器的地址栏会发生改变,转发不会。

    三:重定向可以范围任何资源即使不是同一个web应用,转发只能访问本web应用的资源。

    四:重定向后request域失效不能通过request来共享数据,转发可以。

    五:重定向是浏览器跳转,转发是服务器跳转

2.servlet和jsp中转发与重定向代码实现

servlet:转发:RequestDispatcher rd = request.getRequestDispatcher(“hello.jsp”);

  //Forward to requested URL
          rd.forward(request, response);

servlet:重定向:response.sendRedirect(“http://jakarta.apache.org/struts”);

jsp:转发:在JSP页面中,可以使用<jsp:forward>标签来转发请求,例如:
         <jsp:forward page=”hello.jsp”>

jsp:重定向<%response.sendRedirect(“new.jsp”);


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