Javaweb 请求转发和请求重定向

  • 1.请求转发和请求重定向区别
  • 2.服务端内部转发案例
  • 3.客户端重定向案例

1.请求转发和请求重定向区别

请求转发和请求重定向主要区别,包含以下 5 点:

  • 定义不同
  • 请求方不同
  • 数据共享不同
  • 最终 URL 地址不同
  • 代码实现不同

定义不同:

请求转发:当服务器端收到一个客户端的请求之后,会先将请求转发给目标地址,再将目标地址返回的结果转发给客户端。而客户端对于这一切毫无感知的。

请求重定向指的是服务器端接收到客户端的请求之后,会给客户端返回了一个临时响应头,这个临时响应头中记录了客户端需要再次发送请求(重定向)的 URL 地址,客户端再收到了地址之后,会将请求发送到新的地址上,这就是请求重定向。

请求方不同:

请求转发是服务器端的行为,服务器端代替客户端发送请求,并将结果返回给客户端;而请求重定向是客户端的行为

状态码:请求转发:307

重定向:302

数据共享不同:

请求转发是服务器端实现的,所以整个执行流程中,客户端(浏览器端)只需要发送一次请求,因此整个交互过程中使用的都是同一个 Request 请求对象和一个 Response 响应对象,所以整个请求过程中,请求和返回的数据是共享的;而请求重定向客户端发送两次完全不同的请求,所以两次请求中的数据是不同的

最终 URL 地址不同:

请求转发是服务器端代为请求,再将结果返回给客户端的,所以整个请求的过程中 URL 地址是不变的;而请求重定向URL是会改变的


2.服务端内部转发案例

先写一个转发源servlet:

/*** 服务端内部转发案例*/
public class ServerSideForwarding extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("服务端内部转发...");req.getRequestDispatcher("ssfp").forward(req,resp);}
}

req.getRequestDispatcher("ssfp").forward(req,resp);这句话是转发给url为ssfp的servlet执行

Javaweb 请求转发和请求重定向相关推荐

  1. Java Web 请求转发与请求重定向

    Java Web 请求转发与请求重定向 请求转发 服务器行为,即用户向服务器发送了一次http请求,该请求可能会经过多个信息资源处理以后菜返回给用户,各个信息资源使用请求转发机制互相转发请求,但是用户 ...

  2. java中请求转发与重定向_JavaEE进阶 请求转发与请求重定向

    JavaEE进阶 请求转发与请求重定向 本篇JavaEE进阶教程将为大家讲解JavaEE进阶编程的知识点,看完这篇文章会让你对JavaEE进阶编程的知识点有更加清晰的理解和运用.在转发的过程中,可以把 ...

  3. httpservletresponse 重定向浏览器不变的原因_JavaWeb——Servlet——请求转发与响应重定向...

    导语:在实际的软件开发过程中,往往需要多个Servlet来实现不同的功能,就需要对多个Servlet进行组合调用.多个Servlet之间如何进行通信和跳转?而这就需要用到请求转发与响应重定向技术. 原 ...

  4. 请求转发和请求重定向有什么区别?

    在 Java 中,跳转的实现方式有两种:请求转发和请求重定向,但二者是完全不同的,所以我们今天就来盘它. 请求转发和请求重定向主要区别,包含以下 5 点: 1.定义不同 2.跳转方不同 3.数据共享不 ...

  5. 请求 转发(forword)和重定向(redirect)

    请求 转发forword和重定向redirect 两者含义 两者区别 总结 两者含义 forword转发: 服务器请求资源,直接访问目标地址的url,把那个url响应内容读取过来,然后把这些内容发给浏 ...

  6. doPos/doGe解决乱码问题;请求转发和请求重定向

    doPost解决乱码问题: 代码必须放在第一排. request.setCharacterEncoding("utf-8"); doGet解决乱码问题: 每一个获得的属性都需要进行 ...

  7. 请求转发跟响应重定向的具体应用

    1.请求转发与响应重定向的概念 ·转发 是服务器端的行为 发送了一次请求 网址不会发生变化 请求的数据不会丢失 一般情况下在进行查询操作时使用转发 方法:request.getRequestDispa ...

  8. 请求转发与请求重定向

    请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变. 请求转发:服务器行为,request.getRe ...

  9. 请求转发和请求重定向的区别?

    请求重定向Redirect: 1. 产生了两次请求,俩次相应 , 所以浏览器地址会发生改变 !2. 可以重新定向到非本项目的服务器地址! 请求转发forword: 1. 产生了一次请求,一次相应 , ...

最新文章

  1. 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)
  2. SDUT 2401 最大矩形面积
  3. 差分约束 【bzoj2330】[SCOI2011]糖果
  4. 29final关键字
  5. 【并查集】团伙(luogu 1892)
  6. gitbook mysql_使用Gitbook做笔记
  7. 离散数学之集合论 【下】
  8. Java高级语法笔记-普通异常处理
  9. 前端开发工程师和美工 知识需求的区别
  10. 国人同庆,你我同乐哦!
  11. 声卡性能测试软件,RightMark Audio Analyzer音频声卡测试软件
  12. Android 签名文件
  13. 【C语言01】用二维数组实现最简单的三子棋游戏
  14. 【星座】智慧之神雅典娜守护哪个星座?
  15. grpc---客户端流式
  16. 解决谷歌浏览器拦截文件只有舍弃选项问题
  17. 多线程加速 Excel 画像素画
  18. 空间射线与三角形相交算法的两种实现
  19. thymeleaf笔记
  20. 学习C/C++效率太慢?一份思维导图教你如何从零开始系统学好C/C++

热门文章

  1. laya 阿拉丁自定义统计
  2. 自定义的可拖动滑块验证码的实现方式(SlideView)
  3. 执行pytest生成测试报告遇到的问题
  4. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
  5. 前端同学需要知道的产品经理职业能力要求与标准
  6. 回顾|Acala TC5 万圣糖果节历程总结
  7. 再谈数字化转型的基本认识、重点和策略
  8. oracle怎么出出awr报告,如何在Oracle中生成AWR报告
  9. 官网下载 Vivado
  10. 学会这8个诀窍,让你的工作事半功倍