在做页面的请求与响应的时候我们多用request与response进行操作,而我们大家也知道,request是表示用户发向服务器的请求,而response是对用户请求的一个响应。

关于转发和重定向,通俗的讲转发就像是你向售后技术支持打电话问问题,打过去是客服小王接的,但是小王无法解决,他让你等会儿,别挂电话,然后他去把问题告诉小李,让小李过来帮你解决,虽然换了人解决可是还是在这个售后处解决了问题。而重定向呢,就是小王说这个不归他们管,我们处理不了,让你打给12315投诉吧。然后你打电话给12315投诉解决了。大概就是这样的。

因此在转发的时候你的地址栏内容不会变,发过去的请求也在,也就是说request中的内容没有改变,可以使用request进行值传递。

而重定向的过程地址栏发生改变,你的请求也在重定向的时候丢失,原因是在第二次请求时,是再一次对服务器的访问,服务器会重写request内容。

下面是转发和重定向的代码:

转发:

request.getRequestDispatcher("").forward(request, response);

重定向:

response.sendRedirect("");

谈到转发和重定向就不得不提一下其中的区别:

转发

重定向

请求次数

浏览器仅发送一次请求、一次响应

发送两次请求,两次响应

地址栏是否变化

地址栏不发生变化

地址栏变成重定向的地址

范围

只能转到本项目的Servlet或其他页面

能重定向到不只本项目的Servlet或者其他页面

实施及地址

是有服务器转发的,根目录为项目地址

是由浏览器再次请求,根目录是浏览器目录

*用到重定向和转发时要注意的问题:

在做增删改请求操作的时候不可用转发,只能用重定向

原因:由于转发之后地址栏不变,请求(request)内容不变,再次刷新页面的时候,请求将再次发送,造成重复操作执行,造成错误。

在做查询操作时,只能转发,不能使用重定性。

原因:重定向后请求会将原本的查询请求覆盖,刷新之后将得不到要查询的数据。

以上为个人学习总结,欢迎技术大牛路过指定批评。

关于request、response转发与重定向的简述的更多相关文章

  1. javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)))的区别

    先来两张图,方便理解: 可以看出,重定向时,是服务器向游览器重新发送了一个response命令,让游览器再次向url2发送请求,以获取url2的资源 而请求转发时,类似于是服务器自己向自己发了一个跳转 ...

  2. javaweb:Response/Request的概述 (转发、重定向、get/post)转

    请求响应流程图 1]response 1   response概述 response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletR ...

  3. 转发 VS 重定向

    转发:JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程.以前的request中存放的变量全部失效,并进入一个新的request作用域. 重定向:第一 ...

  4. Servlet--表单、超链接、转发、重定向4种情况的路径

    Servlet中相对路径总结 假设web工程使用如下目录结构: 在介绍相对路径和绝对路径前需要先了解几个概念: 服务器的站点根目录:以tomcat服务器为例,tomcat服务器站点根目录就是apach ...

  5. servlet的转发与重定向

    转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别. 1.转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletR ...

  6. http页面转发和重定向的区别

    一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request ...

  7. web中转发、重定向等问题的路径

    web中常用路径,转发,重定向,form表单action的路径 路径的写法: a.绝对路径写法:ServeltContext都必须用绝对路径."/" b.相对路径:其他情况都可以使 ...

  8. JavaWeb(一)Servlet中乱码解决与转发和重定向的区别

    前言 前面其实已经把Servlet中所有的内容都介绍完了,这篇讲补充一点乱码和重定向与转发之间的区别! 一.request请求参数出现乱码问题 1.1.get请求 1)乱码示例 get请求的参数是在u ...

  9. servlet之转发与重定向的区别

    转发(服务器端跳转):  一次请求 <jsp:forward> request.getRequestDispatcher("new.jsp").forward(requ ...

随机推荐

  1. Protobuf动态解析在Java中的应用 包含例子程序

    最近在做ProtoBuf相关的项目,其中用到了动态解析,网上看了下相关资料和博文都比较少,自己来写一个记录一下学习过程.   Protocol Buffers是结构化数据格式标准,提供序列化和反序列方 ...

  2. 对JavaScript闭包的理解

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 在开始了解闭包前我们必须要先理解JavaScript的变量作用域. 一.变量的作用域无非就是两 ...

  3. 初探JavaScript的截图实现

    最近参与了网易炉石盒子的相关页面开发,在做卡组分享页(地址:炉石盒子卡组分享),有个需求:用户可以把这个卡组以图片的形式分享给好友.最初的的做法是使用服务器把该页面转换成图片,然后把图片地址返回给前端 ...

  4. HDU 6035---Colorful Tree(树形DP)

    题目链接 Problem Description There is a tree with n nodes, each of which has a type of color represented ...

  5. 奇葩app大盘点,你知道几个

    1.I'm Rich 这个App最奇葩.不仅奇葩,还无聊.炫富.浮夸,曾经荣耀一时的"劳资是土豪"应用,售价999.99美元,功能和它的简介一样粗暴,999美元买来的红钻石就是土豪 ...

  6. Java 方法重载,方法重写(覆盖),继承等细节注意

    1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...

  7. 【原创】07. ajax请求,解决sendRedirect 无效

    介绍: 后台基于旧代码用的Filter验证,若 Session过期,则跳转登陆页面 前台框架:EasyUI 问题: 最初后台验证不通过: 1 httpServletResponse.sendRedir ...

  8. C#中调用HttpWebRequest类中Get/Post请求无故失效的诡异问题

    先附代码 /// <summary> /// 客户端Http(GET) /// </summary> /// <param name="strUrl" ...

  9. cacti监控部署与配置

    cacti是一套基于PHP,mysql,SNMP及RRDTool开发的网络流量测试图形分析工具 cacti是通过snmpget来获取数据,使用RRDtool绘画图形 ,而且完全可以不需要了解RRDto ...

  10. Spring框架集成mybatis框架的配置(笔记)

    <!-- 0.注解扫描 --><!-- 1.导入外部文件 --><!-- 2.数据源 --><!-- 3.session Factory -->< ...