`

jsp页面跳转的几个方法

    博客分类:
  • jsp
阅读更多

1. RequestDispatcher.forward()
在服务器端起作用,当使用forward(),Servlet engine传递HTTP请求从当前的Servlet或者是JSP到另外的一个ServletJSP 或普通HTML文件,也即你的form提交至a.jsp,a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. forward()无法重定向至有framejsp文件,可以重定向至有framehtml文件,同时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);
  
}
  通常在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");
  
}
   由于responsejsp页面的隐含对象,故在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 headerLocation属性来重定向
  通过设置直接修改地址栏来实现页面的重定向。
  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);

分享到:
评论

相关推荐

    JSP页面跳转方法总结

    ### JSP页面跳转方法详解 #### 一、概述 JSP(Java Server Pages)是一种动态网页技术标准,被广泛应用于构建动态网站和Web应用程序。在JSP开发中,页面跳转是一项非常基础且重要的功能,它使得用户能够在不同的...

    jsp页面跳转的五中方法

    ### JSP页面跳转的五种方法详解 #### 一、引言 在Web开发中,页面间的跳转是一项基本且重要的功能。JSP作为Java Web开发中的一个重要组成部分,提供了多种方式来实现页面间的跳转。本文将详细介绍五种常用的JSP页面...

    jsp中几个页面之间跳转

    二、JSP页面跳转方法 在JSP中,有多种方式实现页面间的跳转: 1. `sendRedirect()`:这是通过HTTP响应状态码302(临时重定向)实现的。在Servlet或JSP中,可以使用`response.sendRedirect()`方法。例如: ```jsp ...

    JSP页面跳转大全.docx

    在选择跳转方法时,通常考虑以下几个因素:是否需要保留请求上下文、是否需要浏览器地址栏显示新URL、是否涉及跨域以及页面跳转的时机。在性能方面,`forward()` 通常优于 `sendRedirect()`,因为后者涉及到两次HTTP...

    JSP页面跳转方法大全

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

    几种JSP页面传值方式.txt

    ### 几种JSP页面传值方式详解 在Java Web开发中,JSP(Java Server Pages)是一种常用的技术,用于创建动态网页。JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式...

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

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

    jsp_html_web_实现页面跳转

    ### JSP页面中的PageContext与页面跳转 在JavaServer Pages (JSP) 技术中,`PageContext` 类是十分重要的一个概念。它作为JSP页面与Servlet API之间的桥梁,提供了对JSP页面中各种对象(如 `HttpServletRequest`, `...

    纯jsp登录界面自动跳转

    在“纯jsp登录界面自动跳转”这个项目中,我们将主要关注以下几个关键知识点: 1. **JSP页面结构**:登录界面通常包含HTML表单元素,如`<form>`,用于收集用户的登录信息(如用户名和密码)。这些表单会提交到...

    jsp实现分页和页面跳转功能博文的源代码

    JSP分页通常涉及以下几个关键步骤: 1. 数据获取:首先,我们需要从数据库或其他数据源获取数据。这可能涉及到SQL查询,例如`SELECT * FROM table LIMIT offset, limit`,其中`offset`表示当前页的起始位置,`limit...

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

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

    JSP页面跳转方法小结

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

    JSP几种页面间传递参数实现的方法

    JSP页面间传递参数是Web开发中的一项重要技术,以下是几种常见的JSP页面间传递参数实现的方法: 1. 直接在 URL 请求后添加参数 可以在 URL 请求后添加参数,如:<a href="thexuan.jsp?action=transparams&detail=...

    jsp跳转的五种方式

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

    java页面自动跳转

    在JSP页面中实现自动跳转同样可以采用上述几种方式。以下是一个更完整的示例,展示了如何结合JavaScript和服务器端逻辑实现页面的自动跳转: ```jsp ;url=<%=url%>"> window.moveTo(0,0); function countDown...

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

    ### JavaScript 实现页面跳转的几种方式 在Web开发中,页面跳转是十分常见的操作之一。通过JavaScript,我们可以非常灵活地控制页面的导航逻辑,提高用户体验并优化应用性能。本文将详细介绍几种常用的JavaScript...

    关于JSP页面间的传参问题

    本文将详细介绍几种常见的JSP页面间传值方法,并通过示例代码来具体阐述每种方法的应用场景。 #### 1. URL重写(GET方法) URL重写是Web开发中最简单且最常用的传值方式之一,主要通过在URL后添加查询字符串的方式...

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

    本文将详细介绍几种常见的JavaScript页面跳转方法及其应用场景。 ### 1. `window.location.href`属性 #### 实现方式: ```javascript window.location.href = "login.jsp?backurl=" + window.location.href; ``...

    servlet跳转页面的几种方法

    Servlet是Java Web开发中用于处理...总的来说,Servlet和JSP中的页面跳转是Web开发中的基础操作,理解和熟练掌握这些方法对于编写高效的Web应用程序至关重要。合理选择重定向和转发,可以优化用户体验并提高系统性能。

Global site tag (gtag.js) - Google Analytics