Servlet中JSP页面跳转的两种方法以及其区别

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。

原文地址:https://www.cnblogs.com/dpsincs/p/2461703.html