springmvc的转发和重定向

1、转发

forward,地址栏url不变

仅限于当前web应用中,/代表当前web应用的根目录

客户端只会发出一次请求,收到一次响应

在最终的Servlet中,request和中转的那个request是同一个对象。

2、重定向

redirect,地址栏url变

可以定向到任何资源,/代表当前web站点的根目录

客户端会发出两次请求,收到两次响应

在最终的Servlet中,request和中转的那个request是不同一个对象。

重定向到新接口的方式有

response.sendRedirect("/aaa");

或者

response.setStatus(303);

response.setHeader("Location","/aaa");

303状态码常用于将POST请求重定向到GET请求,新的资源的URI被写在响应Header的Location字段

Header

setHeader()方法:当header的key相同时,总是用新的value代替就的value。

addHeader()方法:总是为响应增加新的首部,即使key和value全部重复。

response.getHeaderNames():返回所有header的key,包含重复的key。

getHeader("aaa"):返回重复key的第一个key对应的value。

response.setHeader("Set-Cookie","token=abcdefg"):

你可能感兴趣的:(java)