1.跳转(request.getRequestDispatcher("*.jsp").forward(request,response)).
跳转首先浏览器对服务器只有发生了一次请求,过程:客户端浏览器--->发送http请求 到web服务器-->调用容器中的某个方法完成请求处理和跳转-->将目标资源发送给客户。 注意:在这里跳转的路径必须是在同一个web容器中的url,一定不能跳转到其他web容器中URL路径,并且在浏览器地址栏无法看见地址的变化,所以客户是感觉不到服务器作出了跳转的。
2.重定向(response.sendRedirect)过程:客户浏览器发出一个http请求,-->web容器接受到请求后,发乎302编码响应以及对应的新的location给浏览器-->浏览器发现是302响应,-->再次自动发出一个新的http请求,请求URL是新的location地址-->服务器根据这个请求将得到的资源发送给客户。 注意:仔细观察浏览器地址栏会发现地址有变更,这里一共向服务器发出了两次请求。而且这里的location可以定向到任意的URL去。