`
kjkhi
  • 浏览: 185745 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jsp页面跳转方法及区别

阅读更多
当前项目需求:需要在SSH项目中使用Spring Security作为用户权限管理,在客户端使用ExtJS实现。需要在用户登陆一段时间没有操作时,提示登陆超时,回到登陆页面。

这里首先介绍一下jsp中实现页面跳转的两种常用方法,及与普通http跳转请求(如直接输入网址)之前的区别。

在项目的web.xml中加入自己实现Filter接口的过滤器,实现对指定的请求进行转发。

1、 通过dispatcher的forward方法实现转发,如
request.getRequestDispatcher("/login.jsp").forward(request, response);


2、 通过HttpServletResponse的sendRedirect方法实现跳转,如
responseHttp.sendRedirect(requestHttp.getContextPath()+"/login.jsp")


上面这两种方法在请求响应之前,都能实现转发,但是又有不同。
forward方法只是在后台进行转发,客户端并不知道它发出的请求发生了转换,如客户端需要向后台请求A资源,但后台发现A资源不是A所有,这时后台使用forward转发请求到拥有A资源的B这里,之后由B返回给客户端,所以客户端这时并不知道A资源不是它所以的A所提供的!
sendRedirect方法,后台并不像上者那样作为一个中介方,后台若发现客户端请求的A资源不在A这里,则返回客户端A资源的正确路径,这时客户端再次发送请求。

但需要注意的是,上面提到的两种方法,并不是每种请求都有效的。这里就是它们和直接输入网址的区别。当客户端发出的请求时Ajax异步请求时,该请求本身并没有跳转页面的请求,只是获取后台数据,这时上面的两种方法都是不能实现跳转的,因为后台是没有权利要求客户端实现页面刷新的,这也是说请求必须是在响应请求之前转发。
分享到:
评论
7 楼 kjkhi 2012-08-30  
fanfubao 写道
博主有SSH2+Extjs+spring security的源码吗?我整合的好久,也没把spring security整合进去,总是有错,想看看你是怎么配置的。

已经没有源码了
6 楼 fanfubao 2012-05-25  
博主有SSH2+Extjs+spring security的源码吗?我整合的好久,也没把spring security整合进去,总是有错,想看看你是怎么配置的。
5 楼 aiyust070 2011-05-13  
楼上说的一样
request.getRequestDispatcher("/login.jsp").forward(request, response);   此时相当于一中间过程,并带有请求前的信息,与请求后的信息

responseHttp.sendRedirect(requestHttp.getContextPath()+"/login.jsp")   是一定要转发的,且不带原始页面参数,
4 楼 aiyanbo 2011-05-13  
forward 在同一个request 里,redirect 不在同一个request 里。 所以,当您使用redirect时: 浏览器的地址栏会发生改变,forward则不会改变! 
3 楼 kjkhi 2011-05-11  
yangyi 写道
后者本质上是返回一个302的response,header部分声明location为临时的转发地址

这次我并没有详细去观察forward和sendRedirect这两种方法header部分的区别。但是我遇到的问题是:当我需要转发一个action请求时,如"test_test"(在Struts.xml声明_的后面为action,前面为方法),这时sendRedirect可以达到预计的效果,但是forward并不能实现转发!
2 楼 yangyi 2011-05-10  
后者本质上是返回一个302的response,header部分声明location为临时的转发地址
1 楼 skypengyc 2011-05-10  
楼主幸苦啦

相关推荐

    JSP页面跳转方法总结

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

    JSP页面跳转方法汇总

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

    五种JSP页面跳转方法详解

    本文将详细介绍五种JSP页面跳转的方法,并通过具体的示例代码来帮助理解每种方法的特点及应用场景。 #### 1. RequestDispatcher.forward() `RequestDispatcher.forward()` 是一种服务器端内部的重定向方式,其特点...

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

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

    jsp实现页面跳转的方法

    ### jsp实现页面跳转的方法详解 在JavaServer Pages(JSP)开发中,页面跳转是一项基本且关键的技术,用于实现用户界面的导航和控制流。本文将深入探讨两种主要的页面跳转方法——`jsp:include`与`jsp:forward`,并...

    JSP 登录跳转页面

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

    JSP页面跳转的五种方法

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

    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页面的五种跳转方法

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

    jsp页面的五种跳转方式

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

    SpringBoot实现jsp页面跳转简单实例

    接下来,我们需要创建一个控制器类,例如`HelloController`,并在其中定义一个处理方法,这个方法将用于接收HTTP请求并跳转到JSP页面。使用`@RequestMapping`或`@GetMapping`注解来指定URL映射,然后使用`@...

    JSP_页面跳转,JSP_页面跳转

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

    jsp_html_web_实现页面跳转

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

    JSP页面的跳转方式汇总

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

    jsp中几个页面之间跳转

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

    JSP页面跳转方法大全

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

Global site tag (gtag.js) - Google Analytics