sendRedirect()与forward()方法的异同
来源:互联网 发布:淘宝帐号管理消息订阅 编辑:程序博客网 时间:2024/04/28 20:51
相同点:
两者都是进行客户端请求重定向,可以利用另外的资源,如Servlet、JSP、HTML文件等来为客户端进行服务。
不同点:
1、 两者所在的接口不同
sendRedirect()方法来自HttpServletResponse接口,而forwartd()方法来自RequestDispatcher接口。
2、 工作原理不同
sendRedirect()的工作原理如下图所示:
其交互过程是:
浏览器首先访问Servlet1;
Servlet1想交接Servlet2去为客户端服务;
Servlet1调用sendRedirect()方法,通知浏览器,将浏览器重定向到Servlet2;
浏览器访问Servlet2;
Servlet2对客户端进行响应,此时与Servlet1没有关系。
forward()的工作原理如下图所示:
其交互过程是:
浏览器首先访问Servlet1;
Servlet1想交接Servlet2去为客户端服务;
Servlet1调用forward()方法,将请求转发给Servlet2;
Servlet2对请求做出响应。
3、 透明度不同
sendRedirect()方法对用户来说是透明的,浏览器会在响应中设置Location报头,自动完成重定向然后进行新的访问;而forward()方法对浏览器是透明的,浏览器并不知道为其服务的Servlet1已经换成了Servlet2,因为这是在服务器端改变的定向。
4、 发送请求次数不同
使用sendRedirect()方法,浏览器发送了两次请求;而使用forword()方法只发送了一次请求。
5、 响应的URL不同
使用sendRedirect()方法,Servlet1的URL会转到Servlet2的URL;而使用forward()方法,URL始终是指向原始URL。
6、 重定向范围不同
sendRedirect()方法不但可以在位于同一机子上的不同Web程序间进行重定向,还可以将客户端重定向到其他服务器上的Web应用程序。而forward()不能,只能在本机上本Web应用程序里重定向。
☞ 温馨提示: 返回我的博客索引
- sendRedirect()与forward()方法的异同
- sendRedirect()与forward()方法的异同
- sendRedirect()与forward()实现转向的异同
- jsp中forward方法与sendRedirect方法的区别
- sendredirect与forward的区别
- JAVA中sendRedirect()与forward()方法的区别
- forward与sendRedirect区别(实现页面跳转的方法)
- Response.sendRedirect()与RequestDispatcher.forward()方法区别
- include与forward与sendRedirect的区别
- sendRedirect()和forward()方法的区别
- sendRedirect()和forward()方法的区别
- sendRedirect()和forward()方法的区别
- 浅谈JSP的Forward及sendRedirect方法
- 浅谈JSP的Forward及sendRedirect方法
- 浅谈JSP的Forward及sendRedirect方法
- JSP的Forward及sendRedirect方法区别
- requestDispatcher.forward()与response.sendRedirect()的区别
- jsp:forward与response.sendRedirect的区别
- xcode 4 制作静态库详解
- Android GPS架构分析<二>
- A great post-What Every Developer Must Know about PDB file
- Div弹出层
- window 7 查找指定的线程并关闭
- sendRedirect()与forward()方法的异同
- 函数sscanf、sscanf_s
- vs2008:general error c101008a: Failed to save the updated manifest to the file ".
- java swt 键盘 KeyCode 列表
- 什么是GNU/GPL
- 隐藏在 Google 云存储中的第三方漏洞
- 面试常问知识,须看书籍
- java SWT /JFace 窗口 剧中
- @Override jdk版本不一致引发的问题