1、response.sendRedirect("url");
特点:浏览器地址变成目标页面的地址;到达目标页面后request内的参数值、属性值丢失。其效果就相当于重新在客户端输入目标地址,重新请求。
2、ServletContext application = this.getServletContext();
RequestDispatcher rd = application.getRequestDispatcher("url");//注意这个url为相对于当前网站根目录的地址,而不是相对于服务器根目录的地址
rd.forward(request,response);//相当于<jsp:forward>
特点:浏览器地址不会变成目标页面地址;到达目标页面后request内的参数值、属性值仍存在。
如果A页面的一些内容要在B页面显示并且是暂态数据,可以不把内容存入session内,就放在request内,用方法2进行跳转,这样可以节省内存。而且,当页面B跳转到页面C的时候,A中request的值就自动释放了。方法2相当于服务器内部跳转,如果所要跳转页面不在同一个服务器中,则只能使用方法1。