在Servlet中跳转的两种实现:
forward方式:request.getRequestDispatcher("/somePage.jsp").forward(request, response);
redirect方式:response.sendRedirect("/somePage.jsp");
forward方式:服务器内部重定向到另一个程序,客户机并不知道。
1、服务器内部跳转,所以跳转后的地址,不会展示到客户的浏览器中。
2、可以从request范围内获取数据。
3、执行效率高。
redirect方式:服务器接到一个网络请求后,会发送一个请求头给客户机,客户机将再次请求服务器,这里为2次网络通信。
1、服务器将跳转后的地址返回给客户机,客户机再次访问新地址,所以在浏览器展示跳转后的地址。
2、无法获取到上一个网络通信request方位内存放的数据。
3、执行效率低。