关于request.getRequestDispatcher()的两个方法以及request域
转:
关于request.getRequestDispatcher()的两个方法以及request域
原创
————————————————
版权声明:本文为CSDN博主「DoNg_2521」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/h2503652646/java/article/details/83661347
关于request.getRequestDispatcher()的两个方法以及request域
原创 DoNg_2521 最后发布于2018-11-02 21:00:48 阅读数 29853 收藏
展开
一、getRequestDispatcher()
getRequestDispatcher()包含两个方法,分别是请求转发和请求包含。
RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");
请求转发: rd.forward( request , response );
请求包含: rd.include( request , response);
一个请求跨多个Servlet,需要使用转发和包含。
请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头!(留头不留体)
请求包含:由两个Servlet共同完成响应体!(留头又留体)
无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!
二、请求转发和重定向的区别:
请求转发是一个请求一次响应,而重定向是两次请求两次响应。
请求转发地址不变化,而重定向会显示后一个请求的地址
请求转发只能转发到本项目其它Servlet,而重定向不只能重定向到本项目的其它Servlet,还能定向到其它项目
请求转发是服务端行为,只需给出转发的Servlet路径,而重定向需要给出requestURI,既包含项目名!
三、request域
同一个请求范围内使用request.setAttribute()和request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值;
点赞 19
收藏
分享
————————————————
版权声明:本文为CSDN博主「DoNg_2521」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/h2503652646/java/article/details/83661347
相关文章
- ValueError: Object arrays cannot be loaded when allow_pickle=False 解决方法
- Deepin系统中手动开启swap的方法
- java8 使用lamda表达式实现对象set方法的链式操作
- 线上分享干货 | Deep-ReID: 关于行人重识别的深度学习方法
- Watir-WebDriver关于交互式等待方法,告别一味sleep时代
- 关于eclipse安装Genymotion插件的方法
- List 中去除 null 方法讨论
- 编译打包rabbitmq然后一键部署的简单方法
- Linux下PG数据库计划任务定期备份恢复的方法
- 关于微信二次分享,标题变链接的解决方法(二)----代码部分
- Sublime Text3配置SublimeREPL快捷键的方法(Python)
- 关于Android Force Close 出现的原因 以及解决方法
- Flutter 隐藏控件最佳方法【转】
- objectARX 关于MFC类向导 无法向此非CCmdTarget派生类添加任何命令 解决方法
- 疑难杂症——关于EntityFramework的SqlQuery方法的执行效率差异的探讨
- 第8.13节 Python类中内置方法__repr__详解
- 关于SetCapture() 和 ReleaseCapture()的使用方法
- 关于fatal error LNK1120: 1 unresolved externalsd而解决方法
- 关于高德地图地理围栏生成后在BroadcastReceiver的onReceive方法中没有接收到消息的问题
- Python pandas.DataFrame.to_parquet函数方法的使用
- .NET Core项目依赖运行时和独立部署发布的方法命令介绍
- 关于notification的使用,setLatestEventInfo方法在新SDK不能使用的解决方法
- 关于std::fstream以及std::ifstream打开中文路径名失败的问题和解决方法
- 关于c++中以空格分隔的数字数据的一种读取方法
- 关于VMware虚拟机磁盘收缩的几种方法
- 关于Visual Studio编译scanf报错问题以及一劳永逸的解决方法!
- 关于tiny4412 usb接线接到电脑USB接口无效的解决方法
- 《React-Native系列》25、 详解Redux的connect方法
- 关于崩溃等问题的定位总结(使用qcc的一些方法来尝试)