前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于request.getRequestDispatcher()的两个方法以及request域

关于request.getRequestDispatcher()的两个方法以及request域

作者头像
Twcat_tree
发布2022-11-22 09:16:14
3860
发布2022-11-22 09:16:14
举报
文章被收录于专栏:二猫の家

一、getRequestDispatcher()

getRequestDispatcher()包含两个方法,分别是请求转发和请求包含。

RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");

  • 请求转发 rd.forward( request , response );
  • 请求包含: rd.include( request  , response);

一个请求跨多个Servlet,需要使用转发和包含。

  • 请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头!(留头不留体)
  • 请求包含:由两个Servlet共同完成响应体!(留头又留体)

无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!

二、请求转发和重定向的区别:

  1. 请求转发是一个请求一次响应,而重定向是两次请求两次响应。
  2. 请求转发地址不变化,而重定向会显示后一个请求的地址
  3. 请求转发只能转发到本项目其它Servlet,而重定向不只能重定向到本项目的其它Servlet,还能定向到其它项目
  4. 请求转发是服务端行为,只需给出转发的Servlet路径,而重定向需要给出requestURI,既包含项目名!

三、request域 同一个请求范围内使用request.setAttribute()request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档