`

JSP页面跳转的方法总结

    博客分类:
  • java
阅读更多
1.  response.sendRedirct("跳转到页面");
该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容.
request无法传值过去.
执行完该页所有代码,然后再跳转到页面.
跳转地址栏改变.
可以跳转到其他服务器上的页面response.sendRedirct(http://www.sun.com).

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可以传值过去.
直接跳转到页面,后面的代码不执行.
跳转后地址栏不变.
无法跳转到其他服务器上的页面.
图片不是绝对路径无法显示.

例子1:
from.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page buffer="1kb"%>
 
<%
long i=0;
  int j = 0;
for(i=0;i<60;i++)
{

       out.println(j++);
}
%>
<jsp:forward page="to.jsp"/>


结果:  跳到to.jsp上.


例子2:

from.jsp


<%@ page contentType="text/html;charset=gb2312"%>
<%@page buffer="1kb"%>
 
<%
long i=0;
  int j = 0;
for(i=0;i<600;i++)
{

       out.println(j++);
}
%>
<jsp:forward page="to.jsp"/>


报错:

java.lang.IllegalStateException: Error: Attempt to clear a buffer that's already been flushed
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:648)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:637)
org.apache.jsp.forward.from02_jsp._jspService(from02_jsp.java:58)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.pcvit.pan.filter.EncodingFilter.doFilter(EncodingFilter.java:19)




例子3:

from.jsp


<%@ page contentType="text/html;charset=gb2312"%>
<%@page buffer="1kb"%>
 
<%
long i=0;
  int j = 0;
for(i=0;i<6000;i++)
{

       out.println(j++);
}
%>
<jsp:forward page="to.jsp"/>


结果: 没有跳到to.jsp上. 但是却显示出了from.jsp页面的代码执行结果.

------------------------------------------------------------------------------

                以上状况原因不详,望高手指点一下

------------------------------------------------------------------------------


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

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

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

------------------------------------------------------------------------------


PS:

服务端的输出缓冲区

缺省情况下:服务端要输出到客户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的内容输出到客户端上:


该JSP网页已完成信息的输出 
输出缓冲区已满 
JSP
文章出处:http://www.diybl.com/course/4_webprogram/jsp/jsp_js/20071031/80971.html
分享到:
评论
1 楼 liumidea 2010-03-08  

相关推荐

    JSP页面跳转方法总结

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

    五种JSP页面跳转方法详解

    ### 五种JSP页面跳转方法详解 在Web开发中,页面间的跳转是非常常见的需求之一。JSP(JavaServer Pages)作为一种广泛使用的服务器端技术,在实现页面跳转方面提供了多种方式。本文将详细介绍五种JSP页面跳转的方法...

    JSP 登录跳转页面

    JSP 登录跳转页面 在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP ...

    jsp页面跳转的五中方法

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

    jsp页面跳转

    ### JSP页面跳转方法详解 #### 一、RequestDispatcher.forward() **定义与用途:** `RequestDispatcher.forward()` 是一种服务器端的跳转方法,它主要用于在同一个Web应用内部进行页面之间的跳转。该方法的主要...

    Springboot+MyBatis+mysql+jsp页面跳转详细示例.docx

    在本示例中,我们探讨的是如何使用SpringBoot框架整合MyBatis,连接MySQL数据库,并通过JSP页面展示数据及实现页面跳转。首先,我们需要理解SpringBoot的核心特性,它是一个简化Spring应用初始搭建以及开发过程的...

    页面自定跳转 超链接 跳转 jsp页面跳转

    根据给定的文件信息,我们可以深入探讨页面自动跳转、超链接跳转以及JSP页面跳转的相关知识点,尤其关注于HTML、JavaScript以及浏览器兼容性处理。 ### 页面自定义跳转与超链接跳转 页面自定义跳转指的是在网页...

    jsp页面的五种跳转方式

    对于使用 Java Server Pages (JSP) 的开发者来说,掌握不同类型的页面跳转方法非常重要,这不仅有助于提高开发效率,还能增强应用程序的性能与用户体验。本文将详细介绍 JSP 中五种常用的页面跳转方式及其应用场景。...

    JSP_页面跳转,JSP_页面跳转

    JSP页面跳转是Web开发中的基本且重要的功能之一,通过合理运用`sendRedirect()`和`forward()`方法,开发者能够构建出更加灵活、高效、用户友好的Web应用程序。理解并掌握这两种跳转方式的区别和适用场景,对于提升...

    jsp和servlet中实现页面跳转的方式实例总结.docx

    JSP 和 Servlet 中实现页面跳转的方式实例总结 在 web 开发中,页面跳转是一个非常常见的需求,JSP 和 Servlet 是 Java Web 开发中两个最基本的组件,了解它们如何实现页面跳转是非常必要的。本文将根据 JSP 和 ...

    jsp的跳转方式总结

    JSP 跳转方式总结 JSP(Java Server Pages)是一种基于 Java 语言的服务器端脚本语言,主要用于生成动态网页。JSP 跳转方式是指在 JSP 页面中实现跳转到其他页面或资源的技术。下面我们对 JSP 中的三种跳转方式进行...

    JSP页面的跳转方式汇总

    ### JSP 页面的跳转方式汇总 在Java Server Pages (JSP) 技术中,页面...以上总结了七种JSP页面跳转的方法,每种方法都有其适用场景。开发者应根据实际需求选择最合适的跳转方式,以确保应用程序的高效性和用户体验。

    小结jsp页面跳转问题

    通过本文档,我们将深入探讨几种常用的JSP页面跳转方式:`response.sendRedirect()`、`response.setHeader()`以及`&lt;jsp:forward&gt;`指令,并通过具体的示例代码来解析这些方法的工作原理及注意事项。 #### 一、`...

    JSP和HTML跳转.zip_html挑转jsp_jsp和HEML跳转_jsp和HTML跳转

    在Web开发中,JavaServer Pages (JSP) ...总结,HTML页面跳转和JSP与HTML之间的跳转有多种方式,开发者可以根据需求选择合适的方法。在实际应用中,通常会结合使用这些技术,提供流畅的用户体验并处理复杂的业务逻辑。

    jsp_html_web_实现页面跳转

    一、JSP页面跳转 1. **隐式转发(Internal Forward)**:在同一个应用内部,可以通过`RequestDispatcher`的`forward()`方法进行页面跳转。这种方式不会生成新的HTTP请求,而是服务器端将请求数据传递到目标页面,...

    JSP跳转方式总结.doc

    在JavaServer Pages (JSP) 开发中,页面跳转是一种常见的操作,它允许用户从一个页面导航到另一个页面。本文将重点讨论两种主要的JSP跳转方式:`RequestDispatcher.forward()` 和 `response.sendRedirect()`,以及...

    JSP中5种跳转的方法

    本文将详细介绍JSP中五种常用的页面跳转方法,并深入探讨它们的特点及应用场景。 ### 1. RequestDispatcher.forward() #### 原理与特点 `RequestDispatcher.forward()` 方法主要用于将请求转发到另一个资源(可以...

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

    本文将深入解析JS页面跳转的各种方法,以及如何利用JS操作iframe进行页面跳转和刷新。 ### 一、JS页面跳转方式 #### 1. `window.location.href`方式 这是最常见的页面跳转方法,通过改变`window.location.href`...

    jsp跳转的五种方式

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

Global site tag (gtag.js) - Google Analytics