1. 程式人生 > >jsp中的頁面跳轉方式

jsp中的頁面跳轉方式

  1. 方法一 href
    在一些html的文件中,用herf實現頁面跳轉的比較常見,也很好用。
    jsp一般不用
  2. 方法二:getRequestDispatcher請求轉發

request.getRequestDispatcher(url).forward(request,response);

這種方法比較實用,在伺服器端執行,url使用相對路徑,不會重新建立request和response,前後頁面共享一個request,位址列還是原來的地址,不是轉發後的地址
!運用forward方法只能重定向到同一個Web應用程式中的一個資源

AND分為兩種RequestDispatcher

  • ServletContext.getRequestDispatcher(String url)中的url只能使用絕對路徑;
  • ServletRequest.getRequestDispatcher(String url)中的url可以使用相對路徑。

因為ServletRequest具有相對路徑的概念;而ServletContext物件無次概念。
3. 方法三: sendRedirect重新定向

response.sendRedirect(“login.jsp”);

與上面相反,url使用絕對路徑,可以訪問任何url,所以當要訪問的不再同一webapp時使用比較好,會改變位址列

轉發 or 重定向

  • 轉發比重定向快
  • 使用重定向可以避免使用者重新載入頁面時執行相同的動作
  • 重定向無法傳值,這是比較頭疼的一件事,jsp的話只能在session傳值或
    位址列傳值,SpringMvc就解決了這一問題,百度Flash屬性
  1. 方法四:利用表單的action
<form method="post" action="ChangrCount.jsp" id="form1">
     <input type="hidden" name="albumId" value="${item.albumId}" />
    <input style="width:50px;" type="text" name="count" value="${item.count}" id="namecount"/>                                
</form>

這種方法不用多說了,在input提交時比較常用

參考這位大佬
以及這位大佬