目录
在一个web应用中通过两种方式,可以完成资源的跳转:
转发和重定向有什么区别?
代码上有什么区别?
形式上有什么区别?
转发和重定向的本质区别?
使用一个例子去描述这个转发和重定向
转发和重定向应该如何选择?什么时候使用转发,什么时候使用重定向?
跳转的下一个资源有没有要求呢?必须是一个Servlet吗?
转发会存在浏览器的刷新问题。
?
(老杜的笔记)?
-
在一个web应用中通过两种方式,可以完成资源的跳转:
-
转发和重定向有什么区别?
-
代码上有什么区别?
-
转发
-
// 获取请求转发器对象
RequestDispatcher dispatcher = request.getRequestDispatcher("/dept/list");
// 调用请求转发器对象的forward方法完成转发
dispatcher.forward(request, response);
?
// 合并一行代码
request.getRequestDispatcher("/dept/list").forward(request, response);
// 转发的时候是一次请求,不管你转发了多少次。都是一次请求。
// AServlet转发到BServlet,再转发到CServlet,再转发到DServlet,不管转发了多少次,都在同一个request当中。
// 这是因为调用forward方法的时候,会将当前的request和response对象传递给下一个Servlet。
-
重定向
-
形式上有什么区别?
-
转发和重定向的本质区别?
-
使用一个例子去描述这个转发和重定向
-
借钱(转发:发送了一次请求)
-
借钱(重定向:发送了两次请求)
-
转发和重定向应该如何选择?什么时候使用转发,什么时候使用重定向?
-
跳转的下一个资源有没有要求呢?必须是一个Servlet吗?
-
转发会存在浏览器的刷新问题。
|