浅谈客户端跳转和服务端跳转
-
相同点
都是从一个页面跳到另一个页面 -
不同点
1)语法不同: 客户端跳转:response.sendRedirect("url"); 服务端跳转:request.getRequestDispatcher("url").forward(request, response); <jsp:forward page="url"></jsp:forward> Response.setHeader("refresh","3;url=要跳转的页面路径") 2)执行流程不同:客户端跳转:由浏览器自动发请求跳转 服务端跳转:立即跳转 3)跳转时间: 客户端跳转:在整个页面执行完之后才执行跳转 服务端跳转:执行到该语句的时候立即跳转 4)传参:客户端跳转:不能传递参数 服务端跳转:可以传递参数 5)是否可以重新传参:客户端跳转:可以,因为其重新发了请求 服务端跳转:不可以 6)地址栏有没有改变:客户端跳转:要重新发送请求,会改变地址栏 服务端跳转:不改变地址栏
-
总结
服务端跳转用于正常流程,客户端跳转用于异常流程