`

Jsp页面跳转和js控制页面跳转的几种方法

阅读更多

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文件,同时forward()无法在后面带参数传递,比 如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个 页面。
  重定向后浏览器地址栏URL不变。
  例:在servlet中进行重定向
  public void doPost(HttpServletRequest request,HttpServletResponse response)
                                throws ServletException,IOException{
  response.setContentType("text/html; charset=gb2312");
  ServletContext sc = getServletContext();
  RequestDispatcher rd = null;
  rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面
  rd.forward(request, response);
  }

      或
      request.getRequestDispatcher("/index.jsp").forward(request, response);//转发到index.jsp      getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);

      //转发到index.jsp

  通常在servlet中使用,不在jsp中使用。

 

2. response.sendRedirect()

  在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.
  重定向后在浏览器地址栏上会出现重定向页面的URL。
  例:在servlet中重定向
  public void doPost(HttpServletRequest request,HttpServletResponse response)
                                throws ServletException,IOException{
  response.setContentType("text/html; charset=gb2312");
  response.sendRedirect("/index.jsp");
  }
  由于response是jsp页面的隐含对象,故在jsp页面中可用response.sendRedirect()直接实现重定位。
 
 注意:
  (1) 使用response.sendRedirect时,前面不能有HTML输出;
   这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前, 有少量的HTML输出也是允许的。
  (2) response.sendRedirect之后,应该紧跟一句return。
  我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。
  比较:
  (1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
  (2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
  前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法。
  在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使HttpServletResponse.sendRequest()方法

 

3. <jsp:forward page="" />

  它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。
  如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。
  注意:它不能改变浏览器地址,刷新的话会导致重复提交

 

4. 修改HTTP header的Location属性来重定向
  通过设置直接修改地址栏来实现页面的重定向。
  jsp文件代码如下:
  <%
  response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
  String newLocn = "/newpath/jsa.jsp";
  response.setHeader("Location",newLocn);
  %>

 

5. JSP中实现在某页面停留若干秒后,自动重定向到另一页面
  在html文件中,下面的代码:
  <meta http-equiv="refresh" content="300; url=target.jsp">
  它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为你想转向的目标页,若为本页则为自动刷新本页。
  由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。代码:
  String content=stayTime+";URL="+URL;
  response.setHeader("REFRESH",content);

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"、"location.href":D页面跳转

"parent.location.href":C页面跳转

"top.location.href":A页面跳转

如果D页面中有form的话,

<form>: form提交后D页面跳转

<form target="_blank">: form提交后弹出新页面

<form target="_parent">: form提交后C页面跳转

<form target="_top"> : form提交后A页面跳转

关于页面刷新,D 页面中这样写:

"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

"top.location.reload();": A页面刷新

Js 控制页面跳转的几种方法

第一种:

    <script language="javascript" type="text/javascript">
           window.location.href="login.jsp?backurl="+window.location.href; 
    </script>

 第二种:

    <script language="javascript">
alert("返回");
window.history.back(-1);
   </script>

 第三种:

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

 第四种:

   <script language="JavaScript">
          self.location='top.htm';
   </script>

 第五种:

   <script language="javascript">
          alert("非法访问!");
          top.location='xx.jsp';
   </script>

 第六种:

<script type="text/javascript">
// 页面若在框架内,则跳出框架
if (self != top) {
	top.location = self.location;
}; 

</script>

 

 第七种:

自定义时间跳转(方法一):

<script language="javascript">
var secs = 3; //倒计时的秒数 
var URL ;
function Load(url){
URL = url;
for(var i=secs;i>=0;i--) 
{ 
   window.setTimeout('doUpdate(' + i + ')', (secs-i) * 1000); 
} 
}
function doUpdate(num) 
{ 
document.getElementById('ShowDiv').innerHTML = '将在'+num+'秒后自动跳转到主页' ;
if(num == 0) { window.location = URL; }
}
</script>

 

然后在<body>里面加上<body onload="Load('index.asp')">   index.asp为自己要跳转的页面。

在<body></body>之间加上<div id="ShowDiv"></div>

自定义时间跳转(方法二):

<p style="text-indent: 2em; margin-top: 30px;">
系统将在 <span id="time">5</span> 秒钟后自动跳转至新网址,如果未能跳转,<a href="http://www.jb51.net" title="点击访问">请点击</a>。 
<script type="text/javascript">  
    delayURL();    
    function delayURL() { 
        var delay = document.getElementById("time").innerHTML;
 var t = setTimeout("delayURL()", 1000);
        if (delay > 0) {
            delay--;
            document.getElementById("time").innerHTML = delay;
        } else {
     clearTimeout(t); 
            window.location.href = "http://www.jb51.net";
        }        
    } 
</script>

 

0
0
分享到:
评论

相关推荐

    JSP页面跳转方法总结

    本文将详细介绍JSP中常见的几种页面跳转方法,并分析它们之间的区别。 #### 二、客户端跳转方法 ##### 1. 使用`&lt;a&gt;`标签超链接 这是最简单直接的方式,通过`&lt;a&gt;`标签的`href`属性设置目标页面的URL来实现跳转。...

    JS页面跳转和js对iframe进行页面跳转、刷新

    以上介绍了几种常见的JS页面跳转和对iframe进行页面跳转与刷新的方法。开发者可以根据实际需求选择合适的方式,以达到预期的页面导航效果。需要注意的是,在进行页面跳转和刷新操作时,应考虑到用户体验和浏览器的...

    js页面跳转 js页面跳转代码汇总

    下面将详细介绍几种常见的JS页面跳转技术及其应用场景。 ### 1. 使用`window.location.href` 这是最常用的一种页面跳转方法,通过改变`window.location.href`属性的值来实现页面跳转。例如: ```javascript ...

    几种JSP页面传值方式.txt

    以上介绍了几种常用的JSP页面传值方式,包括使用表单、URL重写、JavaScript动态改变表单行为、JSP内置对象和标签库以及Cookie和Session。不同的场景下可以选择不同的方法来满足需求。在实际应用中,开发者还需要考虑...

    js页面跳转 多种javascript页面中转方法

    本文将详细介绍几种常见的JavaScript页面跳转方法及其应用场景。 ### 1. `window.location.href`属性 #### 实现方式: ```javascript &lt;script language="javascript" type="text/javascript"&gt; window.location....

    js实现页面跳转的几种方式

    本文将详细介绍几种常用的JavaScript页面跳转方法,并分析各自的适用场景。 #### 1. 使用 `window.location.href` 这是最常见也是最直接的方式,它通过修改`window.location`对象的`href`属性来实现页面跳转。例如...

    jsp中几个页面之间跳转

    本文将深入探讨这两种路径的区别以及它们在JSP页面跳转中的应用。 一、绝对路径与相对路径 1. 绝对路径:绝对路径是从根目录开始,完整地指明文件或资源所在位置的路径。例如,如果一个HTML或JSP文件位于服务器的`...

    JSP页面跳转大全.docx

    在JavaServer Pages (JSP) 中,页面跳转是一个常见的操作,用于实现用户请求的重定向或页面间的逻辑流程控制。以下是对不同跳转方法的详细说明: 1. **forward() 方法** `forward()` 方法属于 `javax.servlet....

    JSP页面跳转方法大全

    先来介绍一下在服务端JSP脚本中跳转页面的几种方法: 1. response.sendRedirct(“跳转到页面”); 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去...

    js页面跳转和自动刷新

    ### JS页面跳转和自动刷新知识点详解 #### 一、页面跳转方法及其实现原理 页面跳转在Web开发中是一项非常基础且重要的功能,它涉及到用户在不同页面之间的导航与交互。JavaScript提供了多种方式来实现页面跳转,每...

    js方式的页面跳转

    本文将详细介绍几种常见的JavaScript页面跳转方法及其应用场景。 #### 二、知识点详解 ##### 1. `window.location.href` 方式 `window.location.href` 属性用于获取或设置当前文档的URL。当我们将它的值设置为一个...

    jsp跳转的五种方式

    在JSP 和 Servlet 的环境中,`RequestDispatcher.forward()` 方法是一种非常常用的页面跳转方式。这种方式实现了容器内部的控制权转移,也就是说,浏览器的地址栏不会显示跳转后的地址。 **代码示例**: ```java ...

    JSP跳转页面整理收集

    这里我们将深入探讨几种不同的JSP页面跳转方法。 1. **forward()方法** `forward()`方法基于`javax.servlet.RequestDispatcher`类,它允许在服务器端内部进行页面重定向,而不会改变浏览器的URL。以下是如何使用`...

    javascript跳转页面方法

    以上介绍了几种常见的使用 JavaScript 实现页面跳转的方法,包括直接跳转、使用对话框确认或提示后跳转、按钮式跳转、链接式跳转以及开新窗口等方式。这些方法各有特点,在实际开发中可以根据需求选择合适的方案。...

    java页面自动跳转

    这种方法利用客户端JavaScript脚本来控制页面的自动跳转。下面是一个示例代码: ```html &lt;script language="javascript"&gt; function out(obj) { var i = obj; if (i == 0) { document.location.href = "t.html"...

    sp\button和submit的区别及使用js实现页面跳转的方式

    また,我们还可以使用其他几种方式来实现页面的跳转,例如: &lt;script language="javascript"&gt; alert("返回"); window.history.back(-1); 这将使页面返回上一页。 或者,我们可以使用: &lt;script language="...

    JSP页面跳转方法小结

    本文将对JSP页面跳转的几种常见方法进行详细讲解。 1. **使用`&lt;a&gt;`标签(客户端跳转)** 当我们需要简单地从一个JSP页面跳转到另一个页面时,可以使用HTML的`&lt;a&gt;`标签来创建超链接,形如: ```html ...

    JavaScript实现x秒后自动跳转到一个页面

    第一种方法适合服务器端控制,而后两种适用于客户端的交互式跳转,特别是第二种和第三种提供了更友好的用户体验,因为它们提供了跳转前的提示或者动态倒计时。 在实际开发中,需要注意浏览器兼容性问题,虽然大多数...

    jsp返回上一页和刷新

    jsp返回上一页和刷新是一种常见的jsp开发需求,本文总结了一些常用的jsp返回上一页和刷新的方法,包括使用JavaScript返回上一页和刷新页面、自动刷新页面、ASP.NET输出刷新父窗口脚本语句、JS刷新框架的脚本语句等。

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

    【jsp下页面跳转的几种方法】 在Java服务器页面(JSP)开发中,页面跳转是常见的操作,用于在用户交互或业务处理后引导用户访问新的页面。主要有三种方式来实现这一目标:RequestDispatcher.forward()、...

Global site tag (gtag.js) - Google Analytics