AK相信頁面跳轉在這個圈圈圓圓里是個地球人都能經常遇到的事,AK也在平時的工作學習中記錄了一些,這里就做一個小小的總結,有任何的疑問和質疑都希望您能告訴我,不用擔心后果,必定至少您還能理我,AK萬分感激...
1. \*頁面鏈接式:*\
<a href="javascript:history.go(-1)">返回上一步</a>
2.\*頁面按鈕式:*\
<input name="ak" type="button" value="go" onClick="location.href=’http://www.baidu.com/‘">
3.\*直接跳轉式:*\
<script>window.location.href='aklovebb.html';</script>
4.\*JS中的跳轉:*\
1. window.location.href=“http://www.baidu.com” 或者 location.href="ak_bb.jsp"
2.window.history.back(-1); //返回
3.self.location=“ak_bb.html”;
4.top.location=’bb_ak.jsp’; //這個方法是讓頂層頁面跳轉
5.\*請求轉發:*\
HttpServletRequest request.getRequestDispatcher("ak_bb.html").forward(request,response);
也叫請求派發,頁面內容跳轉到ak_bb.html,但是當前頁的地址是不會改變的。
在jsp中也可以這樣實現:<jsp:forward page="ak_bb.jsp" />
6.\*請求重定向:*\
HttpServletResponse response.sendRedirect("bb_ak.jsp");
和轉發不同,重定向是內容和地址都轉到bb_ak.jsp。
在jsp中也可以這樣實現重定向:<%response.sendRedirect("bb_ak.jsp")%>
當然請求轉發和重定向的不同原沒有這么簡單,下面就簡單枚舉一下他們的區別:
1》轉發只訪問服務器一次;而重定向訪問服務器兩次。
2》轉發只能看見第一次訪問頁面的url,以后的工作都是服務器來做的;重定向是可以看到目標頁面的url。
3》轉發是執行了跳轉頁面,下面的代碼就不會在執行了;重定向跳轉后必須加上return,要不然頁面雖然跳轉了,但是還會執行跳轉后面的語句。
4》轉發前后是共享一個request和reponse;而重定向跳轉后是生成了新的request和reponse。
5》請求轉發只能訪問自己web應用資源;重定向可以訪問外部的資源,簡言之就是response.sendRedirect("http://www.baidu.com");
如果您還對AK的枚舉的區別不滿意,想了解的更詳細,為你推薦一篇:http://blog.csdn.net/getstudymessages/article/details/6230325