重定向:作用是停止当前 JSP 页面的执行,而将客户端请求转交给另一个 JSP 页面。
要注意转发与重定向的区别。
转发: 在服务器端进行的,不会引起客户端的二次请求,因此浏览器的地址不会发生任何变化,效率也比重定向要高。
同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request 内的对象将无法使用。(参数和结果丢失,引起客户端的二次请求)
怎么选择转发还是重定向呢?
通常情况下转发更快,而且能保持 request 内的对象, 所以他是第一选择。但是由于在转发之后,浏览器中 URL 仍然指向开始页面(转发的URL没有发生改变),此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这种情况请选择转发的方式。
重定向:以前的 request 中存放的变量不会失效,就像把两个页面拼到了一起。
转发:以前的 request 中存放的变量不会失效,就像把两个页面拼到了一起