1. 程式人生 > >jsp或servlet中有哪幾種跳轉方式。它們有何區別

jsp或servlet中有哪幾種跳轉方式。它們有何區別

1.客戶端跳轉:
1).使用form表單的action屬性設定要跳轉的頁面(此方法可以將此頁面的form表單屬性值傳遞到下一頁面):如下
<form action="my.jsp" name="lili" onsubmit="return test()">
<input type="submit" value=http://www.hake.cc/a/biancheng//"提交">
或者(button型別需要手動提交表單):
<input type="button" value=http://www.hake.cc/a/biancheng/"註冊" onclick="test()">


javascript的函式:
function test(){
    //手動設定跳轉頁面
     document.lili.action="my1.jsp";
    document.lili.submit();
}
2).使用javascript中的頁面跳轉的方法(不能將form表單中的屬性值傳遞到下一頁面):
window.location.href=http://www.hake.cc/a/biancheng//"my.jsp";
window.location.replace("my.jsq");//此方法不可將頁面後退.
2.服務端跳轉的兩種方法對比:
<jsp:forward page="xxx.jsp"/>:等價於

request.getRequestDispatcher("xxx.jsp").forward(request,response);
本伺服器的資源跳轉,效率更高.位址列不改變(仍為跳轉前的頁面).可得到request屬性值.
response.sendRedirect("xxx.jsp"):
重定向到任意資源.位址列改為當前頁面.無法得到request屬性值.