Request
来源:互联网 发布:中国古代数学 知乎 编辑:程序博客网 时间:2024/06/06 19:44
Request
请求转发和请求包含、演示请求转发
请求转发和请求包含
RequestDispatcher rd=request.getrequestDispatcher("/MyServlet");
使用request获取RequestDispatcher对象,方法的参数是被转发或包换的servlet
- 请求转发:×××××
rd.forward(request,response);
- 请求包含:
rd.include(request,response);
有时一个请求需要多个Servlet协作才能完成,所以需要在一个Servet跳转到另一个Servlet
- 一个请求跨多个Servlet,需要使用请求转发和包含
- 请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头(留头不留体)
- 请求包含:由两个Servlet共同完成响应体(留头又留体)
- 无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!
request域
Servlet 中三大域对象:
- Request
- Session
- Application
-都有如下方法void setAttribute(String name ,object value);
Object getAttribute(String name );
void removeAttribute(String name)
- 同一请求范围内使用
request.setAttribute() request.getAttribute()
来传值! 前一个Servlet调用setAttribute()
保存值,后一个Servlet调用getAttribute()
获取值
请求转发和重定向的区别
- 请求转发是一个请求一次响应,而重定向是两次请求两次响应
- 请求转发地址栏不i变化,而重定向会显示后一个请求地址
- 请求转发只能转发到本项目的其他Servlet,而重定向不只能定向到本项目的其他Servlet,还能定向到其他项目
- 请求转发是服务器的行为,只需给出转发的Servlet路劲,而重定向需要给出requestURI,即包含项目名
- 请求转发和重定向效率高的是转发,因为是一个请求!
- 需要地址栏发生变化,那么必须使用重定向!
- 需要在下一个Servlet中获取request域中的数据,必须用转发(或包含)
阅读全文
0 0
- Request
- request
- Request
- request
- request
- request
- Request
- request
- request
- request
- request
- request
- request
- Request
- request
- request
- request
- request
- Wampserver 2.5中localhost能访问,但是localhost下面的项目打不开的解决办法
- UVA10006-快速幂Carmichael Numbers
- 线程之资源类
- Ignatius and the Princess IV
- Java中值传递和引用传递的思考
- Request
- [BZOJ3399]连通块计数
- C++函数重载
- Redis服务器简单操作类及GEO坐标附近位置查询
- Struts2学习第三天:访问web元素
- 项目中遇到的问题
- HDU
- 传智_Springmvc+Mybatis由浅入深全套视频教程-SpringMVC笔记(两天)(2017年8月17日21:30:09)
- 二分图匹配 (模板篇)