Java的三种页面跳转方法(setHeader,SendRedirect,forward)及区别
重定向 / 转发 在JAVA中进行资源跳转,或者是页面跳转,从本质上来讲,有两种方式:重定向 , 转发 这两者都可以使页面进行跳转,但是两者之间有不同的区别 其中 SendRedirect,setHeader 属于重定向方式,而 forward 属于转发方式 重定向(sendRedirect,setHeader) 1.重定向到指定URL,是客户端跳转 2.地址栏中的地址将会改变,变成重定向的地址 3.调用者和被调用者处于两次不同的请求。不能通过request域对象来共享数据, 如果需要传递参数,需要在 url 后加参数,如 url?id=2,或者使用ServletContext 存放全局数据,不能通过request和response方式 4.使用重定向方式可以重定向到任意 URL response.sendRedirect(url); response.sendRedirect( "/uu ");表示相对于服务器根路径 url 可以使用相对路径,也可以使用绝对路径 //需要设置状态码 302(found),重新定位 response.setStatus(302); response.setHeader("Location","url"); 重定向的详细过程: Redirect 会发送一个 response(响应)给浏览器,当浏览器接收到 response 后