`
wgj830823
  • 浏览: 51291 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Servlet几种页面跳转的区别

阅读更多
Servlet几种页面跳转的区别 之前总是在做一些ssh的东西,对servlet的直接操作越来越少,虽然对他的机制很是清楚,不过对直接通过servlet来操作还是越来越生疏 0-0 找点东西记下来,备忘 Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.ycul.com"); 跳转后浏览器地址栏变化。 这种方式要传值出去的话,只能在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(),如果有,页面不会跳转。 跳转后浏览器地址栏变化 此语句后面的语句执行完成后才会跳转 3) <forward page=""></forward> 此语句前不允许有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) ... 跳转后浏览器地址栏不变,但是只能跳到当前主机下 此语句后面的语句执行完成后才会跳转 转自:http://antelope.ycool.com/index2.html
分享到:
评论

相关推荐

    servlet跳转的几种情况

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

    java servlet 几种页面跳转的方法

    总结,Java Servlet中的页面跳转主要分为`redirect`和`forward`两种方式,每种都有其特定的应用场景。`redirect`适用于需要改变URL或跳转到外部资源的情况,而`forward`则适用于保持URL不变且在同一个应用内进行页面...

    servlet跳转页面的几种方法

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

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

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

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

    3. 根据验证结果,使用`sendRedirect`进行页面跳转或显示错误信息。 4. 在`web.xml`中声明Servlet及其映射路径。 这是一个基础的登录实现,实际项目中可能还需要考虑其他因素,如session管理、防止SQL注入、密码...

    java页面自动跳转

    页面跳转主要用于改善用户体验,例如用户在完成表单填写或执行其他操作后,系统能够自动将其导向下一页面或结果页面。对于用户注册流程来说,通常的做法是用户填写完注册信息并提交后,系统会验证这些信息的有效性。...

    Web_2_Servlet的基本使用和跳转1

    Web 2 Servlet 的基本使用和跳转 在本节中,我们将讨论 Web 2 Servlet 的基本...我们讨论了 Servlet 的生命周期、创建方式、配置方式、实现页面跳转和获取请求参数等方面的内容,并讨论了 Servlet 的线程安全问题。

    jsp页面跳转的五中方法

    除了上述几种方式外,JSP还支持使用`request.getRequestDispatcher().include()`进行页面嵌入。这种方式可以在当前页面中嵌入另一个页面的内容,而不会改变当前页面的状态。 **示例代码:** ```java ...

    jsp中几个页面之间跳转

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

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

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

    JSP页面跳转大全.docx

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

    jsp_html_web_实现页面跳转

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

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

    本文将深入讲解如何使用JSP实现分页和页面跳转功能,并基于提供的源代码进行解析。 分页是网页展示大量数据时常用的一种策略,它可以提高用户体验,避免一次性加载过多信息导致页面响应变慢。JSP分页通常涉及以下几...

    servlet的MV模式

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

    jsp实现分页和页面跳转功能的源码与数据库

    在JSP中,有以下两种方式实现页面跳转: 1. **请求转发**(Request Forward):使用`RequestDispatcher`的`forward()`方法,可以在服务器端将一个请求转发到另一个资源,用户浏览器地址栏不会发生变化。 2. **...

    链接、页面跳转、隐藏、表单提交

    根据给定的部分内容,我们可以看到几种不同的实现方式。 1. **Servlet中的页面重定向**: ```java public String out() { HttpServletRequest request = ServletActionContext.getRequest(); ...

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

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

    企业信息管理系统 SERVLET

    4. 页面跳转:SERVLET可以控制请求的流向,根据用户操作或业务状态决定跳转到哪个页面。 5. 异常处理:通过自定义SERVLET过滤器,可以统一处理系统可能出现的异常情况,提供友好的错误提示。 6. 国际化与本地化:...

    JSP跳转页面整理收集

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

Global site tag (gtag.js) - Google Analytics