浏览器向服务器发送请求,ATestServlet接收请求后,使用重定向/转发两种方式向BTestServlet进行资源跳转

ATestServlet.java

@WebServlet(name = "ATestServlet", urlPatterns = "/chap3red_for_a")
public class ATestServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置request范围内的共享变量request.setAttribute("user", "admin");// 重定向至 BTestServletresponse.sendRedirect("/webpro/chap3red_for_b");// 转发至 BTestServletrequest.getRequestDispatcher("/chap3red_for_b").forward(request, response);}
}

BTestServlet.java

@WebServlet(name = "BTestServlet", urlPatterns = "/chap3red_for_b")
public class BTestServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Object obj = request.getAttribute("user");System.out.println("user = " + obj);}
}

代码的运行流程图

response重定向

request转发

理解重定向与转发

重定向:张三找李四借钱,李四没钱,所以让张三找王五借钱,张三从王五那借到了钱。张三很感激王五

转发:张三找李四借钱,李四没钱,李四就找王五借钱,并把借来的钱又借给了张三。张三很感激李四

张三相当于浏览器的请求,而李四、王五相当于处理请求的web资源

重定向与转发的对比

web资源跳转的两种方法 转发 重定向
代码 request.getRequestDispatcher(“url-patterns”).forward(request, response) respond.sendRedirect(‘web资源相对于web的路径’)
request对象触发 response对象触发
跳转范围 项目内资源跳转 跨项目资源跳转
数据是否丢失 不丢失 丢失
何时使用 项目内资源跳转;web资源间传递request范围内的数据 跨项目资源跳转;页面刷新问题

参考内容:
【动力节点】Servlet__老杜

资源跳转--response重定向和request转发相关推荐

  1. 页面的跳转——请求重定向和请求转发

    目录 一.重定向(Redirect) 二.转发(Forward) 三.重定向和请求转发的区别 相同点 不同点 一.重定向(Redirect) 请求重定向是客户端行为.是指当浏览器请求一个URL时,服务 ...

  2. JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别

    Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有2种方式 1,通过response对象的sendRedirect方法重定向: response.se ...

  3. springboot 直接转发调用_springboot-过滤器的页面跳转【重定向与请求转发】-异常报错...

    springboot中,增加过滤器后,页面重定向跳转与请求转发跳转,都出现报错. 求大佬帮忙解答,谢谢! 一.页面跳转代码: 1.重定向代码: response.sendRedirect(" ...

  4. 我来说清楚 SpringBoot Controller层默认跳转、重定向(redirect)、转发(forword)之间的区别

    默认跳转 SpringBoot底层会为返回的字符串拼接前缀和后缀,使其成为完整的资源路径. 然后按照路径查找对应资源,返回个浏览器,浏览器解析并展示. 重定向 在使用重定向时,返回的字符串指的是一个请 ...

  5. 请求转发和重定向的区别_WEB之重定向和请求转发的区别

    一次重定向的过程 我的代码里面已经写好了,redirectAndFoward.jsp页面上有一个表单,表单重定向到redirectAndFowardTarget.jsp,那么这一次的重定向过程为: 1 ...

  6. Web——Request转发和Response重定向

    • Request请求转发 ○ 请求转发§ 请求转发(forward):一种在服务器内部的资源跳转方式§ ○ 实现方式:§ request.getRequestDispatcher("资源B ...

  7. request转发,response重定向,异步请求json数据输出到页面

    request转发: //转发到index.jsp页面request.getRequestDispatcher("index.jsp").forward(request, resp ...

  8. 大数据WEB阶段 (十)Response、ServletConfig、ServletContext、资源跳转三种方式

    Response.ServletConfig.ServletContext.资源跳转三种方式 - (一)Response 一.Response概述 在doGet和doPost方法的参数中,HttpSe ...

  9. 转发和重定向和request域对象

    利用请求域传递对象(request域对象) 重定向和转发的区别(转发)(*****)* 域对象ServletContext:服务器一启动,为每个web应用创建一个ServletContext对象,所有 ...

最新文章

  1. Mysql组复制故障恢复测试
  2. VS2005控制台程序修改nb0文件
  3. Android Studio 使用笔记:查看类结构和继承关系
  4. html表格的表头怎么合并单元格,使用tableGrob合并表头单元格
  5. iOS ----------怎么修改xcode默认打开方式
  6. 【大盛】全网首发HTC One/M7 最新本地化TrickDroid9.0/固件升级/永久root/高级,快速设置/稳定,流畅经典ROM...
  7. 快速开发系统之前台页面 ---- NO1----登录页面
  8. 利用scrapy爬取文件后并基于管道化的持久化存储
  9. wpf开源ui引用步骤_完善开源产品策略的6个步骤
  10. 3-6 字符和字符串处理
  11. SQL2008安装教程
  12. Warning: Stopping rpcbind.service, but it can still be activated by:rpcbind.socket
  13. 《计算机导论》学后感想,学习《计算机导论》后的感想.doc
  14. 如何找出当前活动桌面背景图像的位置/路径(Ubuntu 18.04,GNOME)?
  15. 2022-4-7 基于单片机的篮球记分器(LCD1602)(公众号:风吹摇铃 奔赴星海)
  16. 你也还在找程序员外包平台吗?有这几个就足够了!
  17. 成都理工大学计算机考研经历,09计算机考研的小小体会~
  18. 诺禾- tcp 网络效劳框架
  19. android自动回复退订,[原创]某聊天app自动回复
  20. M5202高品质线性充电芯片可替TP4056

热门文章

  1. lwip之数据收发流程_2
  2. PAT甲级1112 Stucked Keyboard:[C++题解]卡住的键盘、双指针、去重
  3. C++中的Lambda表达式详解
  4. distinct作用于后面所有的列吗_InnoDB索引允许NULL对性能有影响吗
  5. python中系列的含义_一篇文章让你彻底搞清楚Python中self的含义
  6. jpa遇到mysql表名大写怎么办_解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题...
  7. python视窗版_Python GUI tkinter窗口视窗学习3
  8. python matplotlib animation制作世界人口变动动画
  9. r指引到文件夹_R语言中进行文件夹及文件夹内文件操作范例
  10. python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...