转发与重定向的区别
来源:互联网 发布:360软件卫士下载 编辑:程序博客网 时间:2024/06/11 10:45
转发与重定向的区别
1.转发
(1)什么是转发
一个web组件(servlet/jsp)将未完成的处理转交给另外一个web组件继续做。
比较常见的情况是一个servlet将处理结果转交给一个jsp来展现。
注:
web组件指的是jsp或者servlet
(2)如何转发
step1, 绑订数据到request。
//name:绑定名,obj:绑定值
request.setAttribute(String name,Object obj);
step2,获得转发器
//uri:要转发给哪一个web组件
RequestDispatcher rd = equest.getRequestDispatcher(String uri);
step3,转发
rd.forward(request,response);
step4,在转发的目的地,可以使用request.getAttribute方法获得绑定的数据,然后进行处理。
//如果name对应的值不存在,会返回null
Object request.getAttribute(String name);
(3)特点
a.转发之后,浏览器地址栏的地址不变。
b.转发的目的地必须是同一个应用。
(4)注意事项
a,转发之前,先清空response对象中的缓冲数据。
b,转发之前,不能够调用out.close().
2.重定向
(1)什么是重定向
服务器通知浏览器向一个新的地址发送请求。
注:可以发送一个302状态码和一个Location消息头(该消息头包含了一个地址,称之为重定向地址),浏览器收到后,会立即向重定向地址发请求。
(2)如何重定向
response.sendRedirect(String url);注:
a.url就是重定向地址。
b,重定向之前,不要调用out.close()方法。
c.重定向之间,容器会先清空response对象中保存的数据。
(3)特点
a.重定向地址是任意的。
b.重定向之后,浏览器地址栏的地址会发生改变。
3.转发与重定向的区别
(1)能否共享request转发可以,而重定向不行。
注:
容器收到请求之后,会创建request和response,当响应发送完毕,会销毁这两个对象。
(2)浏览器地址栏的地址有无变化
转发无变化,而重定向有变化。
(3)目的地有无限制
转发有限制(同一个应用),而重定向无限制。
- 转发与重定向的区别
- 转发与重定向的区别
- 转发与重定向的区别
- 请求转发与重定向的区别
- 请求转发与重定向的区别:
- 请求转发与重定向的区别
- 请求重定向与转发的区别
- 重定向与转发的区别
- jsp转发与重定向的区别
- 转发与重定向的区别
- JSPServlet转发与重定向的区别
- 转发与重定向的区别
- 转发与重定向的区别
- 《请求转发与重定向的区别》
- JAVA转发与重定向的区别
- 转发与重定向的区别
- 请求转发与重定向的区别:
- 转发与重定向大的区别
- 前端开发框架对比
- iOS: JS和Native交互的两种方法,iosjsnative交互
- poj 1330 Nearest Common Ancestors(LCA)
- jboss 5.1启动报错
- jsoup 语法整理
- 转发与重定向的区别
- 转hadoop 参数配置
- 一个计算机毕业生的经历
- poj 1320 Street Numbers 解pell方程
- DBCP连接池原理分析
- Java反射机制详解
- SQL字符串截取
- Jenkins配置-Invoke ant
- Apache Hive Installation