请求转发和重定向的区别

什么是请求转发(request.getRequestDispatcher(目标).forward(request,response))
 请求转发是服务器将请求转发给别的servlet处理,是服务器内部的行为

1、请求转发的过程
客户端向服务器发送请求,服务器将请求指派给一个servlet处理(命名为A),A处理后发现自己处理不了该请求,就调用request.getRequestDispatcher(目标).forward(request,response)方法将请求转发给servlet(B)让B处理,B处理成功后将结果返回给客户端。

特点
1、转发是在服务器端完成的,与客户端无关
2、转发是同一次请求,无论服务器端转发多少次都只有一次请求
3、转发的客户端地址栏不会变化,无论最后响应的是哪个servlet地址栏都不会改变
4、转发必须在同一台服务器下完成,是服务器内部行为

什么是重定向(response.sendredirect(URL))
是通过各种方法将请求重新定个方向转到其它位置

重定向过程
客户端发送一个请求到服务器,服务器匹配Servlet,这都和请求转发一样。Servlet处理完之后调用了response.sendRedirect()方法。当这个Servlet处理完后,看到response.sendRedirect()方法,立即向客户端返回个响应,响应行告诉客户端你必须再重新发送一个请求,去访问另一个目标,客户端收到这个请求后,立刻发出一个新的请求,去请求重定向后的目标,在这两个请求互不干扰、相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了。因此,在sendRedirect()里面是两个请求,两个响应。

特点
1、重定向是在客户端发生的;
2、重定向是两次或以上请求;
3、重定向地址栏有变化;
4、重定向可以在不同的服务器下完成。

重定向和请求转发的区别

序号 问题 重定向 请求转发
1 行为发生在什么地方? 浏览器 服务器servlet
2 浏览器发送了几次请求? 2次及以上 1次
3 servlet可以共享request吗? 不可以 可以
4 浏览器地址栏是否发生了改变? 改变了 没有改变
5 浏览器地址栏显示的哪一次访问地址? 最后一次 第一次
6 可以跳转到什么资源? 任意资源(包括其他的服务器) 项目内部(本服务器内)

重定向sendredirect(URL)和请求转发requestDispatcher(servlet).forword(req,resp)相关推荐

  1. Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)

    ServletContext可以实现请求转发(ServletContext请求转发相关内容见之前博客:http://blog.csdn.net/megustas_jjc/article/details ...

  2. java | (二十五)Servlet(1)req,resp,重定向,请求转发,数据共享

    今天(2021.9.24)开始学习一些有难度的知识了,如题 先安装和配置好Tomcat,具体下载和idea的配置可以参考 目录 开发步骤 Servlet对象生命周期 httpServletRespon ...

  3. java 请求转发_javaweb之请求的转发和重定向

    1.什么是请求转发和请求重定向? 请求转发: xxServlet收到请求,然后直接转发给yyServlet,然后yyServlet返回给客户端.整个过程中,客户端发出一个请求,收到一个响应. 重定向: ...

  4. 【Java12】tomcatservlet(nginx,web.xml,生命周期,适配器优化),requestresponse(请求转发,登陆案例(1),重定向,文件下载)

    文章目录 1.nginx的conf文件:以前网络编程中B/S架构中服务器是用socket写,用文件输入流读一个文件,读到后socket通过outputstream写出去,这些过程有了nginx后再也不 ...

  5. 分析:重定向和请求转发

    分析:重定向和请求转发 重定向 HttpServletResponse对象的sendRedirect(java.lang.String location)方法称作重定向. 如果location地址前面 ...

  6. 重定向与请求转发的区别及什么时候使用

    重定向与请求转发的区别 一 转发是服务器行为,重定向是客户端行为.为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求-->web服务器接受此请求-->调用内 ...

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

    一.重定向与请求转发的区别 1.转发是服务器行为,重定向是客户端行为. 为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求-->web服务器接受此请求--> ...

  8. Request请求转发和重定向

    Request请求转发和重定向 一,Request请求转发 (一),请求转发:在服务器内部的资源跳转的方式 我们在实际开发中,需要写不同的servlet,每个人servlet完成不同的功能,当我们访问 ...

  9. java通过不同请求转发不同端口_java重定向与请求转发的区别

    请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: request.getR ...

最新文章

  1. 公共基因表达数据分析系统genevestigator,再也不愁表达数据的查询和比较了
  2. Json的list、map、对象对应格式
  3. Jenkins部署Windows UI自动化的调度权限问题
  4. python与excel结合能做什么-机器学习实践:如何将Spark与Python结合
  5. 【正一专栏】魔鬼圣诞赛程结束争四利物浦占得先机
  6. 【Linux】4_基本权限ACL的命令(setacl和getacl)
  7. 让你的网站在移动端健步如飞
  8. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
  9. PAT乙级 1029 旧键盘
  10. 超炫酷的HTML5视频播放器 支持手机移动页面
  11. 任务37:生成 JWT Token
  12. Windows工具 - 查看apk信息 - 包名/支持Android版本/支持架构等
  13. 【转】丹尼斯·里奇,那个给乔布斯提供肩膀的巨人
  14. 51单片机制作计算机1602显示,51单片机对LCD1602液晶显示器的控制
  15. 关于三角形外心性质的探究
  16. 悬停提示工具:Tippy.js
  17. 【渝粤教育】电大中专Windows操作系统 (2)作业 题库
  18. Tomcat 配置集锦
  19. 在网页中插入flash的方法
  20. 全国369个城市空气质量月度数据(2013-2021)

热门文章

  1. 3月8号女神节送什么礼物好?女神节礼物分享
  2. 不建议使用类型 Activity 的方法 managedQuery(Uri, String[], String, String[], String)解决方案
  3. Activity.managedQuery()
  4. 手机微信自带的亲属功能,让对方消费由你买单,这种好事必须分享
  5. 趣味学python(018)
  6. gma3600显卡linux,Intel GMA 3600 (简体中文)
  7. C#的StreamWriter类使用说明
  8. DM数据库维护与管理-DEM监控管理
  9. 平板安装linux教程,ubuntu for tablets平板系统安装视频教程
  10. 【Windows基础要点】端口与注册表