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