J2EE中的请求和转发

2019-02-12  本文已影响0人  农民工__乔Young

转发到JSP

request.getRequestDispatcher("myJSP.JSP").forward(request,response);

转发到Servlet

request.getRequestDispatcher("myServlet.do").forward(request,response);

从定向

response.sendRedirect("others");

可以重定向到本应用的Servlet/JSP,也可以重定向到另外一个应用,但转发只能是在一个应用中。

区别

  1. 转发client只发出一个请求;重定向发出两次请求,第二次请求是第一次响应给出的
  2. 转发是server内部的事情,在servlet内部跳转,也就地址栏不会改变;重定向发生在client端,第二次请求由client发出,所以地址栏会改变
  3. 转发一直是client发出的一个resquest,所以转发目的servlet/jsp中可以获取由request.setAttribute("name",object);的对象。而重定向是client发出了两次请求,所以是不能在第二次resques中获取到第一次request绑定属性。这也就说明,转发是可以共享数据的,而重定向是不能共享数据的
上一篇下一篇

猜你喜欢

热点阅读