首页 > 代码库 > 转发和重定向的区别

转发和重定向的区别

转发:RequestDispatcher.forward

重定向:HttpServletResponse.sendRedirect

 

转发:一次请求,一次响应

重定向:两次请求,两次响应

 

转发:只能跳转站内程序

重定向:跳转任意站点

 

转发:URL地址不变

重定向:URL地址改变

 

转发:对客户端不可见(地址不更改)

重定向:对客户端可见(地址更改)

 

转发:可以共享同一个request中的数据

重定向:因为是2次请求,是不同的request对象,所以不能共享request数据

 

结论:Request.setAttribute必须和request.getRequestDispatcher().forward一起使用