`
tomzhu0526
  • 浏览: 21170 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

请你详细谈一下forward与redirect

阅读更多
作为一个高手,这个应该是小儿科了.但对我来说,简单的谈还可以,详细的说,那还真有点困难,这两天整理了一下.
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
不知道这样是不是很全了,有不对的地方希望大家给补充完整.
可惜偶当时只回答了1和4两条,好象不符合详细谈谈的标准,呵呵.
分享到:
评论
11 楼 xaxis 2007-05-23  
fins 写道
还有一个很重要:

forward不会走 过滤器


Servlet 2.4 開始forward可以走过滤器, 不過要響web.xml設定
10 楼 lighter 2007-05-23  
补充:
redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.
forward,方法只能在同一个Web应用程序内的资源之间转发请求.
9 楼 fins 2007-05-23  
这算是 客户端发起"请求"  和forward redirect 没有啥关系

forward  是服务器内部的一种操作.
redirect 是服务器通知客户端,让客户端重新发起请求.

所以,你可以说 redirect 是一种间接的请求, 但是你不能说"一个请求是属于forward还是redirect "

8 楼 piaoling 2007-05-23  
form表单提交是属于forward还是redirect
比如:index.jsp有<form>,action="index2.jsp,那么提交后这算是什么呢?
7 楼 tomzhu0526 2007-05-23  
我还是没有总结好,谢谢了.
6 楼 fins 2007-05-23  
还有一个很重要:

forward不会走 过滤器
5 楼 aone 2007-05-23  
总结的不错...
4 楼 tomzhu0526 2007-05-23  
面试的时候应该是说的越详细越好,现在再有哪家问我这样的问题我应该能说到点子上了,呵呵.
3 楼 诺铁 2007-05-23  
谢谢,给你评个精华,呵呵
2 楼 抛出异常的爱 2007-05-23  
1,2很重要。。。别的可以不记。
PS:找bug时要常常记得一些事。。。
(不过我看redirect不顺眼,见到就改掉)
1 楼 lordhong 2007-05-23  
不错了啊!

相关推荐

    forward与redirect区别

    在开发Web应用时,我们经常会遇到“forward”和“redirect”的概念,它们是两种不同的页面跳转方式。理解和掌握它们的区别对于优化用户交互和处理请求流至关重要。 **forward(转发)**: - 转发是由服务器端完成的...

    jsp forward与redirect实探

    当我们需要在不同的页面之间导航时,`forward`和`redirect`是两种常见的处理请求转发和重定向的方法。本文将深入探讨这两种机制及其区别。 首先,`forward`是通过服务器端内部跳转实现的。它使用`RequestDispatcher...

    forward与redirect!转发和重定向 解析

    ### Forward与Redirect解析 在Web开发中,Forward(转发)与Redirect(重定向)是两种常见的页面跳转方式。它们虽然都可以实现从一个页面跳转到另一个页面的功能,但在实现机制、应用场景以及对用户浏览器地址栏的...

    forward转发与redirect重定向的区别.zip

    在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...

    JAVA面试题之Forward与Redirect的区别详解

    文中详细介绍了两种请求转发方式的原理和区别,包括请求转发的含义、Forward转发请求的原理、Redirect转发请求的原理等。 请求转发的含义 在JAVA web开发中,请求转发是指服务器端将用户的请求转发给其他信息资源...

    转发和重定向的区别 forward和redirect的区别

    然后,你可以获取其他Web应用程序的上下文并进行转发,但这种操作并不常见,因为通常涉及安全性问题。 总结来说,转发和重定向是Java Servlet中处理请求路由的两种重要手段,它们各有优缺点,选择哪种取决于具体...

    struts_actionforward.rar_ActionForward_redirect

    ActionForward的使用 1、理解全局和局部ActionForward的概念 2、redirect的使用 3、struts-config.xml文件不允许动态修改 4、理解动态ActionForward,动态的ActionForward是可以运行期修改的

    Forward 2.71 安装程序

    本文将详细介绍如何安装 Forward 2.71,并探讨其主要功能和使用场景。 首先,我们来了解 Forward 2.71 的安装步骤。在下载的压缩包 "ForwardC271安装程序" 中,包含了安装所需的所有文件。解压这个压缩文件后,你会...

    19.Servlet中forward和redirect的区别.avi

    19.Servlet中forward和redirect的区别.avi

    feed forward equalization 专利

    Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Feed-forward optical equalization using ...

    Forward中文版2.7.rar

    forward是一款很有用的软件,在工程方面、测井方面,勘探方面经常用到 Forward for Windows平台提供多种应用挂接方式,如何应用(包括DOS应用) 经方法管理器加入平台后,自动具备各种平台特性(如方法拖拉、接收井...

    Java面试题19.forward和redirect的区别.mp4

    Java面试题19.forward和redirect的区别.mp4

    java中dispcter和forward的区别

    3. 效率:`forward()`通常比`redirect()`更高效,因为它不需要浏览器再次发起请求。 4. 范围:`forward()`通常用于转发到应用程序内部的资源,而`redirect()`可以重定向到任何URL,包括外部站点。 5. 使用场景:`...

    Forward工程技术手册.pdf

    国产地层油气藏测井评价系统forward工程技术手册,提供forward平台各模块的功能细节描述,应与forward用户实用手册配合使用。

    forward用户操作使用手册

    - **1998年**:Watch 2.0的发布,是我国第一套生产测井解释平台,与Forward共享数据底层和平台工具,为后续的勘探开发一体化打下基础。 - **2003年**:随着技术的不断进步,Forward 2.7和Watch 2.7的升级,增强了...

    全能测井解释软件Forward_2.7_最全教程

    全能测井解释软件Forward 2.7是一款专为石油行业设计的强大工具,它集成了多种测井数据处理、分析和解释功能,旨在帮助地质工程师更好地理解地下储层特性。本教程将详细介绍该软件的各项功能和操作流程,为用户提供...

    springMVC3学习 九 redirect和forward跳转 源码

    springMVC3学习 九 redirect和forward跳转 源码 文章地址http: blog csdn net itmyhome1990 article details 26286669

    structs in action中文完全版\6. 连线 ActionForward.pdf

    #### 一、ActionForward的作用与功能 在Struts框架中,ActionForward扮演着至关重要的角色。它不仅负责处理请求之后的流程控制,还能够指导Struts框架下一步应该转向何处。具体而言,ActionForward用于指示Action...

    iptables之forward

    试验环境如上图 防火墙网卡1与客户端在一个物理网络,ftp服务器与http服务器与防火墙网卡2在同一物理网络。...~]# iptables -P FORWARD DROP #FORWARD默认规则置为DROP ~]# setenforce 0 #关闭selinux

    ActionForward与ForwardAction的功能

    【ActionForward与ForwardAction的功能】 在Java EE的Struts框架中,ActionForward和ForwardAction是两个重要的概念,它们主要用于处理用户请求并控制应用程序的流程。理解这两个组件的功能和使用方式对于构建基于...

Global site tag (gtag.js) - Google Analytics