代碼結構
@Controller
@RequestMapping("/product")
public class ProductController{
@RequestMapping("/show")
public String showProduct(){
request.setAttribute("pageBean",pageBean);
return "forward:/goodsList.jsp";
}
}
問題:
forwad:/不是轉發到根目錄嗎,goodsList.jsp就在根目錄下,
但是瀏覽器顯示的路徑卻是:http://localhost:8080/shop/product/show?tId=1,
這是沒轉發成功?
但是資料也有了,也按goodsList.jsp展示了,卻沒有css和js跟其他的資源,瀏覽器資源結構的目錄如下

所以,到底怎樣才能轉發成功
uj5u.com熱心網友回復:
1.首先,轉發是服務器行為,除了回應內容不會在瀏覽器上有其他反應的,比如你說的地址,是不會變化的。重定向是瀏覽器與服務器之間的行為,瀏覽器會存在二次請求,瀏覽器的地址會發生變化。2.頁面上JS、CSS的參考需要使用絕對路徑,相對路徑很容易出現這種問題。
uj5u.com熱心網友回復:
轉發不會改變地址,重定向會uj5u.com熱心網友回復:
轉發是當你的瀏覽器發送一次請求到服務器,服務器自己根據你寫的代碼,將你請求過來的資料自己轉發到另一個地址上去,是一次請求;重定向是你的瀏覽器發送一次請求到服務器,服務器再告知瀏覽器,去發送請求到另外一個地址,是兩次請求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/37929.html
標籤:Java EE
上一篇:用JAVA給你來注雙色球
