今天爱分享给大家带来Forward 与 Redirect 的区别?有哪些方式实现?【面试题详解】,希望能够帮助到大家。
【参考答案】
forward 是服务器资源转发,服务器直接访问目标地址的 URL,把那个 URL 的响应内容
读取过来,然后把这些内容再发给浏览器,客户机并不知道发送的内容是从哪儿来的,所以
地址栏中还是原来的地址;redirect 则是服务器收到请求后发送一个状态头给客户,客户将
再请求一次,这里多了两次网络通信的来往。forward 会将请求状态和信息发至下一个 jsp
或 Servlet。redirect 是送到 client 端后再一次请求,信息不被保留,就是我们说的无法获取
request 中的参数。
实现方式:
HttpServletResponse 接口 sendRedirect()方法进行重定向转发
RequestDispatcher.接口 forward()方法进行请求转发