默認跳轉
SpringBoot底層會為返回的字符串拼接前綴和后綴,使其成為完整的資源路徑。
然后按照路徑查找對應資源,返回個瀏覽器,瀏覽器解析並展示。
重定向
在使用重定向時,返回的字符串指的是一個請求,而不是一個具體的資源。並且在當前方法設置的Model的Attribute會消失,session不會。url會變成重定向設置的url。
“redirect:xxx”
: 后不加/表示不從根路徑開始查找資源,而是從當前Controller查找RequestMapping的value為/xxx的請求,用於同一Controller內跳轉。
“redirect:/xxx”
/xxx表示跳轉到RequestMapping的value為/xxx的請求,這種方式既可以在不同Controller之間跳轉也可以同一Controller中跳轉。
轉發
與重定向類似,在使用轉發時,返回的字符串指的是一個請求,而不是一個具體的資源。但是它會保留Attribute。並且url不變,依舊是當前請求的url。
用法與效果和重定向一致,不再贅述。