浅谈客户端跳转和服务端跳转

浅谈客户端跳转和服务端跳转

  • 相同点
    都是从一个页面跳到另一个页面

  • 不同点

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

    服务端跳转用于正常流程,客户端跳转用于异常流程

你可能感兴趣的:(JavaWeb)