重定向与转发

重定向

早期的写法为:

response.setStatus(302);
response.setHeader("Location","目标地址");

现在可以这样书写:

response.sendRedirect("目标地址");

重定向写法:重新定位方向,客户端最少有两次请求,服务器会返回302以及一个地址,客户端会根据这个地址执行第二次访问,可以去任意的地方访问,可以不是自己的工程,后续的的请求不可以使用上一次request.setAttribute()因为这是两次不同的请求。并且地址栏上面显示的是最后访问的页面地址。

转发

request.getRequestDispatcher("转发地址").forward(request,response);
请求转发,地址栏不会变化,客户端只有一次请求,因为服务器帮客户端执行了后续的操作,只能跳转到自己的项目,相对于重定向效率高一些,后续的的请求可以使用request.setAttribute(),这是一个请求。 

你可能感兴趣的:(java)