`
yunmanfan
  • 浏览: 94040 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP三种页面跳转方式的比较

阅读更多

使用JSP大约有下列三种跳转方式:
1. response.sendRedirect();
2. response.setHeader("Location","");
3. <jsp:forward page="" />

经过试验得到下面的一些规则:

一. response.sendRedirect()

此语句前不允许有out.flush(),假如有,会有异常:
java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.
 at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)
...
跳转后浏览器地址栏变化
假如要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已无意义了;
假如要跳到相同主机下,此语句后面的语句执行完成后才会跳转;
二. response.setHeader("Location","")

此语句前不允许有out.flush(),假如有,页面不会跳转。
跳转后浏览器地址栏变化
此语句后面的语句执行完成后才会跳转
三. <jsp:forward page="" />

此语句前不允许有out.flush(),假如有,会有异常:
java.lang.IllegalStateException: forward() not allowed after buffer has committed.
 at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:134)
 at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)
 at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:836)
 ...
跳转后浏览器地址栏不变,但是只能跳到当前主机下
此语句后面的语句执行完成后才会跳转

分享到:
评论

相关推荐

    jsp页面的五种跳转方式

    本文将详细介绍 JSP 中五种常用的页面跳转方式及其应用场景。 #### 1. RequestDispatcher.forward() **概念**:`RequestDispatcher.forward()` 是一种服务器端内部转发机制,用于将当前请求转发到同一个 Web 应用...

    JSP页面跳转方法总结

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

    JSP 登录跳转页面

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

    JSP三种跳转方式 超级好的范例

    以上介绍了JSP中的三种页面跳转方式:`response.sendRedirect()`、`response.setHeader("Location", "")`和`&lt;jsp:forward page=""/&gt;`。每种方式都有其特点和适用场景。开发者需要根据实际需求选择合适的跳转方式,...

    jsp实现页面跳转的方法

    为了更直观地理解这两种页面跳转方式的区别,我们来分析题目中给出的示例。 **实例一:使用`jsp:include`** 在示例中,`calling1.jsp`页面通过`jsp:include`动作包含了`destination1.jsp`页面。当用户在`request1....

    五种JSP页面跳转方法详解

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

    jsp页面跳转

    以上介绍了五种JSP页面跳转的方法,每种方法都有其适用场景和特点。在实际开发中,应根据具体需求选择合适的方法来实现页面跳转。需要注意的是,合理选择跳转方式不仅能够提升系统的性能,还能改善用户体验。

    JSP页面的跳转方式汇总

    本文将详细介绍七种常用的JSP页面跳转方法,并对其进行深入分析。 #### 1. 使用超级链接跳转 通过在HTML中使用`&lt;a&gt;`标签创建超链接可以实现页面跳转。例如: ```html 点击这里 ``` 这种方式简单易用,但不能传递...

    java五种jsp页面跳转方法详解

    java五种jsp页面跳转方法详解 2009-08-21 09:06 1. RequestDispatcher.forward()  是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 另外一个Servlet,JSP 或普通HTML...

    JSP页面跳转的五种方法

    ### JSP页面跳转的五种方法 在Java Web开发中,页面间的跳转是非常常见的需求之一。合理的页面跳转不仅可以提升用户体验,还能优化应用程序的结构。本文将详细介绍JSP页面跳转的五种方法:`RequestDispatcher....

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

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

    JSP_页面跳转,JSP_页面跳转

    在探讨JSP页面跳转这一主题时,我们深入解析其概念、实现方式以及在实际开发中的应用,以此来全面理解JSP技术中的页面跳转机制。 ### JSP页面跳转的概念 页面跳转,通常指的是从一个网页转移到另一个网页的过程。...

    jsp_html_web_实现页面跳转

    #### JSP页面跳转方式 1. **使用`&lt;jsp:forward&gt;`标签进行转发**: - 这种方式主要用于服务器内部的页面跳转,不涉及新的HTTP请求。 - 示例代码: ```jsp &lt;jsp:forward page="targetPage.jsp" /&gt; ``` 2. **使用...

    JSP页面的五种跳转方法

    这里主要介绍五种常见的JSP页面跳转方法,包括RequestDispatcher.forward()、response.sendRedirect()、&lt;jsp:forward page="" / &gt;、Meta标签以及JavaScript的location对象。 1. RequestDispatcher.forward() 这种...

    jsp页面跳转的五中方法

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

    jsp跳转的五种方式

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

    JSP页面跳转方法汇总

    ### JSP页面跳转方法详解 #### 一、`response.sendRedirect` `response.sendRedirect`方法是JSP中最常见的页面跳转方式之一,它的工作原理是通过修改HTTP响应头中的`Location`字段来告知浏览器重新发送一个请求到...

    jsp 实现图片跳转

    4. 至于压缩包中的文件`1.bmp`、`3.bmp`和`2.bmp`,它们可能是用于JSP页面展示的图片资源。在实际项目中,这些图片通常会被放在Web应用的资源目录(如`/resources/images/`)下,然后在JSP中通过相对路径引用。 5. ...

Global site tag (gtag.js) - Google Analytics