服务器内部跳转
第一种情况
服务器内部跳转到一个页面中
request.getRequestDispatcher("index.jsp").forward(request, response);
第二种情况
服务器内部跳转到一个Servlet中
request.getRequestDispatcher("/TestServlet").forward(request, response);
服务器内部跳转的特点:
- 需要使用request对象来完成
- 服务器内部跳转期间,其实就是把请求request和响应response转发到下一个资源中,所以在整个跳转期间所有涉及到的资源使用的都是同一个request和response。
- 服务器内部跳转,不会改变浏览器地址栏中的信息
客户端重定向
第一种情况:
客户端重定向到一个页面中
response.sendRedirect(“hello.html”);
第二种情况
客户端重定向到一个Servlet中
response.sendRedirect(“TestServlet”);
客户端重定向的特点:
- 需要使用response对象来完成
- 每一个客户端重定向,浏览器都会发出新请求,也就意味着在服务器端内部会产生新的request对象和response对象
- 客户端重定向,会改变浏览器地址栏中的地址