文章目录

  • 前言
  • 一、转发和重定向是什么?
  • 二、两者者的区别
    • 1.转发
    • 2.重定向
  • 总结

前言

主要是探究servlet跳转也面的两个方式转发和重定向的区别

一、转发和重定向是什么?

当我们在登录页面的时候输入了账号密码然后点击登录按照正常的逻辑应该要跳转一个登录成功或者是失败的页面,那么如何跳转过去呢,这几就涉及到转发和重定向
转发
request.getRequestDispatcher(“填要去的页面”).forward(request,response);
意思就是客户端发起一个请求然后服务器接收后把请求继续向后传递给目标页面
重定向
response.sendRedirect(“填要去的页面”);
意思就是客户端发送一个请求然后服务器接收后回送给客户端一个目标地址然后客户端接收后继续发送下一个请求前往目标页面

二、两者者的区别

1.转发

1.可以传递参数
2.不可以去外部站点,只可以在服务器内部站点
3.实际上客户端只给服务器发送了一次请求

2.重定向

1.不可以传递参数 (如果要往后传递参数则可以再在地址栏里面手动添加:xxx?uname=a)
2.可以去服务器外部站点
3.实际上客户端给服务器发送了两次请求,第一次是Servlet 302请求,服务器回送一个目标地址给客户端让客户端继续发送请求目标地址

总结

两者总的来说看请求的次数就可以判断是转发还是重定向,也没有什么好坏,主要看所面临的场景更适合那个

Servlet转发和重定向的区别相关推荐

  1. 【SpringMVC】Servlet转发和重定向的区别

    1. 概述 转发和重定向是Servlet中进行页面跳转的两种方式,下图展示了其工作原理,左图为转发,右图为重定向. 从上图可以看出,二者最大的区别就是:转发是在服务器内部进行的,只有一次请求响应:而重 ...

  2. java零到一:Servlet和JSP-7:转发、重定向的区别 和状态管理

    1.转发和重定向的区别 请求对象和响应对象的作用域:请求对象到响应对象完成;         (1)转发所涉及的组件可以共享request,response           对象,而重定向不可以 ...

  3. 转发和重定向的区别?

    实际发生位置不同,地址栏不同 转发是发生在服务器的 转发是由服务器进行跳转的,细心的朋友会发现,在转发的时候,浏览器的地址栏是没有发生变化的,在我访问Servlet111的时候,即使跳转到了Servl ...

  4. 请求转发与重定向的区别和执行流程

    请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...

  5. 转发与重定向的区别,特点

    为什么80%的码农都做不了架构师?>>>    重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求, 而浏览器将不会 ...

  6. java 根据客户端重定向_Java Web笔记 - 转发与重定向的区别与在FireBug客户端的表现...

    1.转发: RequestDispatcher的forward(request, response)称为请求转发. request的getRequestDispatcher和getRequestDis ...

  7. 转发和重定向的区别[来源于网络]

    转发和重定向的区别 不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题. 重定向:以前的request中存放的变量全部失效,并进入一个 ...

  8. Servlet转发和重定向的异同

    请求转发和重定向的区别 请求转发是服务器内部行为,只能在服务器内部转发,而重定向可以是服务器外部行为,重定向不仅可以访问服务器内部资源,还可以访问服务器外部资源. 客户端请求次数不一样,请求转发客户端 ...

  9. 请求转发和重定向的区别以及什么时候使用

    请求转发和重定向的区别以及什么时候使用 转发过程(不改变网址) 客户浏览器发送http请求-->web服务器接受此请求-->调用内部的一个方法在容器内部完成请求处理和转发动作-->将 ...

最新文章

  1. 为什么重启路由器 经常重启让WiFi更快
  2. CentOS下yum安装rabbitMQ
  3. 呆萌直播源码:如何开发视频直播平台?
  4. gbk编码在线转换工具_TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具
  5. c#按ESC退出 或者接受其他键盘消息
  6. linux格式化ext4分区工具,linux学习笔记-磁盘分区、格式化与挂载
  7. laravel生成php代码,laravel代码生成器
  8. pytest特色与实用插件
  9. 微软推送补丁的服务器叫什么,即将大规模推送: 微软介绍KB4023057易升补丁相关功能...
  10. CNKI知网查重账号和密码怎么申请
  11. Revisiting Graph Contrastive Learning from the Perspective of Graph Spectrum
  12. 如何设置无线路由器?
  13. 每股收益具体怎么来的
  14. sublime主题配色
  15. linux下c++程序崩溃,如何处理core dump
  16. Warning: Class ‘com.bupt.dts.DTSFortran‘ not found in module ‘AntlrTest‘
  17. react实现上传文件进度条功能_react-progress 自定义一个进度条插件
  18. element-ui前端页面消息提示框
  19. android 应用广告业,安卓应用商店APP推广:CPD广告详解
  20. 基于FME实现dwg等高线、高程点、计曲线注记的高程值批量修改研究,等高线批量修改高程,高程点批量修改高程,计曲线注记批量修改高程

热门文章

  1. I.MX RT1170之FlexSPI(1):FlexSPI功能框图和特性
  2. 通信协议演进与JCE协议详解
  3. [QT]2022.4.30 信号和槽的小玩意儿
  4. 上海工业互联网协会安全专委会成立,加快提升工业互联网安全保障能力
  5. 只留痴人说梦声——2015年年总
  6. Pycharm使用教程 , 详细,实用
  7. 【OpenMP】常用的OpenMP子句
  8. android 单个应用最大可使用内存,Android 单个应用的内存限制
  9. 面试:Android为每个应用分配多少内存
  10. Java实现简易扑克牌游戏