JSP页面跳转方法大全

先来介绍一下在服务端JSP脚本中跳转页面的几种方法:

1. response.sendRedirct("跳转到页面");

该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去.
执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变.
可以跳转到其他服务器上的页面response.sendRedirct('//www.jb51.net').

2.response.setHeader();

该方法和response.sendRedirect一样,通过修改HTTP协议的HEADER部分.

<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
 String newLocn="/index.html";
 response.setHeader("Location",newLocn);
%>

3.<jsp:forward page="跳转页面"/>

该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在<jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.
request可以传值过去. 直接跳转到页面,后面的代码不执行. 跳转后地址栏不变. 无法跳转到其他服务器上的页面. 图片不是绝对路径无法显示.

4.request.getRequestDispatcher("跳转页面");

request可以传值过去. 执行完该页所有代码,然后再跳转到页面.
跳转地址栏不变. 不可以跳转到其他服务器上的页面

<%
 RequestDispatcher rd = request.getRequestDispatcher("jb51.jsp");
 rd.forward(request,response);
%>

有以下3种方法可以做到输出重定向:

RESPONSE.SETREDERECT("URL")

该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容.
response.sendRedirect("//www.jb51.net/index.html");

2.下面的方法也能改变HTTP HEADER属性,它的原理和 1 是一样的.

<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
 String newLocn="/index.html";
 response.setHeader("Location",newLocn);
% > 

3.采用<JSP:FORWORD>
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在<JSP:FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.

上面是在服务端利用JSP脚本的一些方法跳转,下面我们来看一下如何使用前端HTML,JS来做页面跳转

HTML语言的自动跳转

  <html>
   <head>
    <meta http-equiv="refresh" content="0;url="//www.jb51.net">
    0是等待时间,如果设置为5表示等待5s后开始跳转
   </head>

JavaScript跳转

第一种方法:

<script languate="javascript">
   window.location.replace("//www.jb51.net");
</script>

第二种方法:

<script languate="javascript">
  window.location="//www.jb51.net";
</script>

第三种方法:

<script languate="javascript">
  document.location.href("//www.jb51.net");
</script>

第四种方法:

history对象的back(),go()方法.go()方法需要一个整形入口参数

<a href="javascript:history.go(-1)" rel="external nofollow" >返回上一步</a>

<a href="javascript:history.back()" rel="external nofollow" >返回上一步</a>

两者等价都是返回上一页

第五种方法:

document.formName.action="test.jsp";
document.formName.submit(); //使用JS提交的方式

此方法不推荐使用

第六种方法:

<script language="javascript">
   window.navigate("top.jsp");
</script>

其实利用JS跳转页面的方法还有很多,在这只列出了这几中,其它方法当你对JS有了基本了解后可以自由发挥你的想像了

(0)

相关推荐

  • JAVASCRIPT实现的WEB页面跳转以及页面间传值方法

    但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能. 下面是具体的做法: 一:跳转到新页面,并且是在新窗口中打开时: 复制代码 代码如下: function gogogo() { //do someghing here... window.open("test2.html"); } window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加http://,比如: 复

  • js 控制页面跳转的5种方法

    第一种: 复制代码 代码如下: <script language="javascript" type="text/javascript">           window.location.href="login.jsp?backurl="+window.location.href;     </script> 第二种: 复制代码 代码如下: <script language="javascript&qu

  • jsp下页面跳转的几种方法小结

    1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet或者是JSP到另外的一个Servlet.JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同

  • js页面跳转常用的几种方式

    第一种: 复制代码 代码如下: <script language="javascript" type="text/javascript"> window.location.href="jb51.jsp?backurl="+window.location.href; </script> 第二种: 复制代码 代码如下: <script language="javascript"> alert(&

  • 用meta实现的页面跳转代码

    你好, 我很高兴认识你.我在网上,我在网上下载了分类信息网的代码,上传到空间里,但是空间要求的默认主页名字是 index.htm 但是这个提供代码的主页名字是pop_ad,结果是打不开网页 我的建议如下: 你好 可以使用跳转代码,把主页指向pop_ad 你看看我的404页面 http://www.jb51.net/404 只需要在页面加入一行代码 <meta http-equiv="Refresh" content="5; url=http://www.jb51.net

  • form表单只提交数据而不进行页面跳转的解决方案

    一般的form提交操作写法为 复制代码 代码如下: <form action="saveReport.htm" method="post"> -- <input type="submit" value="保存报告"/> </form> 点击submit按钮或直接回车可以将数据提交到saveReport页面,但是提交后也会跳转到saveReport页面 如何做到 将数据提交到saveRepor

  • js页面跳转的问题(跳转到父页面、最外层页面、本页面)

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写 "window.location.href"."locatio

  • js实现页面跳转重定向的几种方式

    第一种: 复制代码 代码如下: <script language="javascript"type="text/javascript"> window.location.href="http://shanghepinpai.com"; </script> 第二种: 复制代码 代码如下: <script language="javascript"> alert("返回");

  • java servlet 几种页面跳转的方法

    Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面. 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径.sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.jb51.net"); 跳转后浏览器地址栏变化. 这种方式要传值出去的话,只能在url中带param

  • javascript 页面跳转方法集合

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] window.location和window.open的区别 window.location = "http://www.jb51.net" 跳转后有后退功能 window.location.replace("http://www.jb51.net") 跳转后没有后退功能 window.open("http://www.jb51.net") 要新的窗口打开链接

  • js 有框架页面跳转(target)三种情况下的应用

    1.跳出框架,在父页面. jsp: 复制代码 代码如下: <script language="javascript"> window.parent.frames.location.href="../welcome.en" </script> java: 复制代码 代码如下: PrintWriter out = response.getWriter(); out.write("<script type='text/javascr

随机推荐