`

java servlet几种页面跳转的方法

阅读更多

        在servlet中,一般跳转都发生在doGet, doPost等方法里面,当然,也可以放到过滤器或jsp里去做。

一.Servlet
1.redirect 方式
        response.sendRedirect("/a.jsp");页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:response.sendRedirect("http://www.jb51.net");
        跳转后浏览器地址栏变化。
        这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。


2.forward方式

RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);

        页面的路径是相对路径。forward方式只能跳转到本web应用中的页面上。
        跳转后浏览器地址栏不会变化。
        使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute。


二.JSP
1.response.sendRedirect()
        和servlet的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的操作已经无意义了。
        如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转。


2.response.setHeader("Location","")
        此语句前不允许有out.flush(),如果有,页面不会跳转。
        跳转后浏览器地址栏变化。
        此语句后面的语句执行完成后才会跳转。

 

文章来源:http://www.jb51.net/article/35550.htm

分享到:
评论

相关推荐

    java servlet 几种页面跳转的方法

    本文将详细介绍两种主要的页面跳转方法:`redirect`和`forward`。 1) **Redirect 方式** `response.sendRedirect()`方法用于实现重定向。当调用这个方法时,服务器向客户端发送一个HTTP 302状态码,指示浏览器去...

    servlet跳转的几种情况

    servlet 跳转的几种情况 Servlet 跳转是指 Servlet 程序在执行过程中将控制权转移到另一个资源的过程,例如跳转到另一个 Servlet、JSP 或 HTML 页面。Servlet 跳转可以分为两大类:Redirect 跳转和 Forward 跳转。 ...

    servlet跳转页面的几种方法

    本篇文章将详细讲解Servlet中跳转页面的两种主要方法:redirect(重定向)和forward(转发),以及在JSP中如何实现类似操作。 1. **Servlet中的跳转** - **Redirect(重定向)** 重定向是通过`response....

    java页面自动跳转

    在JSP页面中实现自动跳转同样可以采用上述几种方式。以下是一个更完整的示例,展示了如何结合JavaScript和服务器端逻辑实现页面的自动跳转: ```jsp <%@ page import="javax.servlet.http.HttpServletRequest" %> ...

    servlet获得下拉列表的值,并跳转到相关页面

    总结来说,通过Servlet获取下拉列表的值并跳转到相关页面涉及以下几个步骤: 1. 在HTML页面中创建下拉列表,并指定一个name属性。 2. 编写Servlet,使用HttpServletRequest的getParameter()方法获取下拉列表的值。 3...

    Java Web编程中页面跳转乱码问题的解决方案.pdf

    Java Web编程页面跳转乱码问题的解决方案 Java Web编程是互联网开发领域中应用十分广泛的工具。然而,在实际开发过程中,程序员常常会遇到页面跳转乱码的问题,尤其是中文乱码问题,这些问题不仅消耗程序员大量的...

    jsp页面跳转的五中方法

    本文将详细介绍五种常用的JSP页面跳转方法:`RequestDispatcher.forward()`、`response.sendRedirect()`、`jsp:forward`、`request.getRequestDispatcher().include()`以及`<jsp:include>`。这些方法各有特点,适用...

    Java servlet初级

    本资源"Java servlet初级"显然是为初学者设计的,旨在帮助新接触servlet技术的开发者快速掌握基础概念和使用方法。学习这个主题,你需要理解以下几个关键知识点: 1. **Servlet生命周期**:Servlet的生命周期包括...

    通过servlet实现登陆界面的跳转

    总结来说,通过Servlet实现登录界面的跳转涉及以下几个关键点: 1. 创建HTML登录表单,指定提交时调用的Servlet。 2. 编写Servlet,处理POST请求,获取并验证用户输入。 3. 根据验证结果,使用`sendRedirect`进行...

    java路径获得几种方法.txt

    本文将详细介绍几种获取Java路径的方法,并对每种方法的应用场景进行解释。 #### 二、获取路径的基本概念 在讨论具体方法之前,我们先了解几个基本概念: - **虚拟路径**:指的是Web应用中的逻辑路径,通常以`/`...

    jsp中几个页面之间跳转

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

    javaWEB之servlet

    Java Servlet 是一种轻量级的、可扩展的应用程序组件,它运行在 Web 服务器或应用服务器上。Servlet 主要的功能是处理来自 Web 浏览器或其他 HTTP 客户端的请求,并向客户端返回响应。这种中间层的设计模式使得 ...

    JSP页面跳转大全.docx

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

    jsp_html_web_实现页面跳转

    `PageContext` 类提供了以下几种主要的功能: 1. **提供访问当前页面上下文中各种对象的方法**:例如,可以通过 `PageContext` 获取到 `HttpServletRequest` 和 `HttpServletResponse` 对象,从而处理用户请求和...

    servlet的MV模式

    在Java Web开发中,Servlet是一种用于处理HTTP请求的服务器端组件。MV模式,通常指的是Model-View-Controller(模型-视图-控制器)设计模式,它在Servlet中扮演着核心角色,帮助开发者实现业务逻辑与用户界面的解耦...

    企业信息管理系统 SERVLET

    SERVLET是一种Java技术,用于扩展服务器的功能,特别是在Web应用程序中。下面我们将深入探讨SERVLET、JSTL以及它们在企业信息管理系统中的应用。 首先,SERVLET是Java Servlet的简称,它是一个Java编写的服务器端...

    jsp+Servlet登录验证

    JSP(Java Server Pages)是一种基于Java的服务器端脚本语言,用于生成动态Web页面。JSP文件可以包含Java代码,能够与Servlet进行交互,实现复杂的Web应用程序。 登录验证流程 登录验证流程可以通过以下步骤实现:...

    Servlet JSP深入详解 基于Tomcat的Web开发

    JSP页面主要包含以下几种元素: - **声明语句**:定义页面中的变量或方法。 - **表达式语言(EL)**:用于获取数据源中的数据。 - **脚本元素**:嵌入Java代码片段。 - **指令**:设置页面属性,如contentType、...

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

    这里我们将详细探讨三种通过JavaScript实现x秒后自动跳转到一个页面的方法。 1. **直接使用`response.sendRedirect()`**: 这个方法通常在服务器端使用,例如在Java的Servlet中。`response.sendRedirect()`函数...

    servletapi.rar_HttpSession jar_Java jar包_javaee.jar_servletAPI

    这个压缩包"servletapi.rar"包含了一些关键的JAR文件,它们对于理解和使用Java Enterprise Edition (Java EE) 平台上的Servlet和相关技术至关重要。在这个压缩包中,我们主要关注以下几个文件: 1. **HttpSession**...

Global site tag (gtag.js) - Google Analytics