一、转发(forward)是什么
在javaEE的 wed 项目中客户端 既 用户使用的浏览器 向服务器发出请求 获取资源(搜索资料或查看信息的过程) 如下图: 过程既是 客户端 发出请求给服务器,服务器调用servlet 处理发现第一次servlet中没有 去第二个servlet中找,在第二个找到后返回第一个在响应给客户端;
可以想象 你去找老李借钱 ,但是老李没钱,但他没说,反而去找老王借钱 后在把钱借给你;
二、重定向(redirect)是什么
也是在wed项目中浏览器向客户端发请求获取资源 , 过程既是 客户端 发请求给浏览器,浏览器告诉你你现在的这个地址没有这个资源,响应给你一个新地址,客户端再次发出请求给服务器,获取信息
可以想象,你找老王借钱,老王说他没有,但他告诉你老李有,然后你去找老李借钱
两者的区别
1.转发是一次请求一次响应; 重定向是二次请求二次响应
2.转发可以使用request域进行数据传输; 重定向不能传输数据
3.转发不会改变地址参数;客户端并不知道服务器进行了什么
4.重定向会改变地址参数,客户端知道发生了什么