WEB中转发与重定向的区别
来源:互联网 发布:for数组去重 编辑:程序博客网 时间:2024/04/30 13:24
首先先看一看转发与重定向的调用
// request转发request.getRequestDispatcher("/index.jsp").forward(request, response);// jsp转发<jsp:forward page="/index1.jsp"> <!-- 给被转发的页面(index1.jsp)附加上请求数据 --> <jsp:param value="admin" name="username"/></jsp:forward>// 重定向response.sendRedirect("/test/index.jsp");
转发与重定向的定义:
- 转发:处理过程中把请求与应答(Request和Response)传入另一个请求中,自始至终只有一个Request和Response
- 重定向:告知浏览器,重新发一次请求,让服务器出处理
转发与重定向的区别: 1. 转发后URL不变,而重定向的URL地址会发生变化 例:请求地址为:http://localhost:8080/test/Test ![转发的URL](http://img.blog.csdn.net/20160108144255199) ![重定向的URL](http://img.blog.csdn.net/20160108144318758) 2. 转发自始至终只有一次请求与应答,重定向有两次请求与应答 例: ![转发](http://img.blog.csdn.net/20160108144519105) ![重定向](http://img.blog.csdn.net/20160108144538757)3.转发只能转发当前WEB应用,而重定向可以到非当前WEB应用中4.转发过程中,只有一个Request和Response,转发者与被转发者可以共享Request和Response,重定向不能
注意:无论是转发与重定向,在转发与重定向之前,都不能向客户端写入数据,如果写入了,转发与重定向之后会清除Response中写入的数据,无法显示到客户端
例如:
try { response.getWriter().write("test"); } catch (IOException e) { e.printStackTrace(); } request.getRequestDispatcher("/index.jsp").forward(request, response);
或者
try { response.getWriter().write("test"); } catch (IOException e) { e.printStackTrace(); } response.sendRedirect("/test/index.jsp");
客户端无法显示”test”字符串,会由服务器自动清空Response
1 0
- WEB中转发与重定向的区别
- javaweb中转发与重定向的区别
- javaWeb中转发与重定向的区别
- JAVA中转发 与 重定向的区别
- Jsp 中转发与重定向的区别
- jsp中转发与重定向的区别
- Java中转发与重定向的区别:详细介绍
- servlet中转发与重定向的区别
- web中转发、重定向等问题的路径
- JSP中转发和重定向的区别
- java中转发和重定向的区别
- JSP中转发和重定向的区别
- Servlet中转发和重定向的区别
- HTTP中转发和重定向的区别
- java中转发和重定向的区别
- jsp中转发和重定向的区别
- java中转发和重定向的区别
- Struts2中转发和重定向的区别
- 华为机试——找出一个数组中满足2^n的元素个数
- 开启慢查询
- 《Android开发艺术探索》读书笔记--part3 View的事件体系
- 大学城的自动网关登陆脚本
- 内存泄漏与检测
- WEB中转发与重定向的区别
- 解决 Linux 下 virtualenv 中 pip 安装 Mysql-python 报错的问题
- java socket编程
- hdoj 4553 约会安排 【线段树区间合并】
- 溢出问题
- 华为机试——求一个字符串中的最大回文子串
- DOM的基础操作记忆
- iOS 引入字体库
- extern关键字