上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
真题5 Servlet API的forward与redirect有什么区别?
【出现频率】★★★☆☆ 【学习难度】★☆☆☆☆
答案:forward是转发,用Request对象调用,控制权在当前容器,是服务器请求资源,服务器直接访问目标地址的URL,把URL的响应内容读取过来,然后把这些内容再发送给浏览器,其实客户端浏览器只发送了一次请求,所以它的地址栏中还是原来的地址,Session、Request参数是共享的,都可以获取。
redirect是重定向,用Response对象调用,是完全的跳转、控制权的转移。就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,相当于客户端浏览器发送了两次请求,地址栏显示的是跳转后的地址,跳转前后的页面不能共享Request参数。